All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#213 re-adds support for PHP 5.6 and 7.0; ZF policy is never to bump the major version of a PHP requirement unless the package is bumping major version.
-
#172 adds the flag
connection_time_limitto the possibleZend\Mail\Transport\Smtpoptions. This flag, when provided as a positive integer, and in conjunction with theuse_complete_quitflag, will reconnect to the server after the specified interval. -
#166 adds functionality for handling
ReferencesandIn-Reply-Toheaders. -
#148 adds the optional constructor argument
$commentand the methodgetComment()to the classZend\Mail\Address. When a comment is present,toString()will include it in the representation. -
#148 adds the method
Zend\Mail\Address::fromString(string $address, $comment = null) : Address. The method can be used to generate an instance from a string containing a(name)?<email>value. The$commentargument can be used to associate a comment with the address.
-
#196 updates how the
Headers::fromString()handles header line continuations that include a single empty line, ensuring they are concatenated to the header value. -
#165 changes the
AbstractAddressListIDN<->ASCII conversion; it now no longer requires ext-intl, but instead uses a bundled true/punycode library to accomplish it. This also means that the conversions will work on any PHP installation.
- Nothing.
- Nothing.
-
#211 fixes how the
ContentTypeheader class parses the value it receives. Previously, it was incorrectly splitting the value on semi-colons that were inside quotes; in now correctly ignores them. -
#204 fixes
HeaderWrap::mimeDecodeValue()behavior when handling a multiline UTF-8 header split across a character. The fix will only work when ext-imap is present, however. -
#164 fixes the return value from
Zend\Mail\Protocol\Imap::capability()when no response is returned from the server; previously, it returnedfalse, but now correctly returns an empty array. -
#148 fixes how
Zend\Mail\Header\AbstractAddressListparses address values, ensuring that they now retain any address comment discovered to include in the generatedZend\Mail\Addressinstances. -
#147 fixes how address lists are parsed, expanding the functionality to allow either
,or;delimiters (or both in combination).
- #177 #181 #192 #189 PHP 7.2 support
- #73
#160 Support for
mails that don't have a
To, as long asCcorBccare set. - #161 removed useless try-catch that just re-throws.
- #134 simplified checks for the existence of some string sub-sequences, which were needlessly performed via regular expressions
- Nothing.
- Nothing.
- #188 split strings
before calling
iconv_mime_decode(), which destroys newlines, rendering DKIM parsing useless. - #156 fixed a
regression in which
<and>would appear doubled in message identifiers. - #143 fixed parsing
of
<and>being part of the email address comment.
- #117 adds support
configuring whether or not an SMTP transport should issue a
QUITat__destruct()and/or end of script execution. Use theuse_complete_quitconfiguration flag and/or thesetuseCompleteQuit($flag)method to change the setting (default is to enable this behavior, which was the previous behavior). - #128 adds a requirement on ext/iconv, as it is used internally.
- #132 bumps minimum php version to 5.6
- #144 adds support for TLS versions 1.1 and 1.2 for all protocols supporting TLS operations.
- #140 updates the
Sendmailtransport such thatFromandSenderaddresses are passed toescapeshellarg()when forming the-fargument for thesendmailbinary. While malformed addresses should never reach this class, this extra hardening helps ensure safety in cases where a developer codes their ownAddressInterfaceimplementations for these types of addresses. - #141 updates
Zend\Mail\Message::getHeaders()to throw an exception in a case where the$headersproperty is not aHeadersinstance. - #150 updates the
Smtpprotocol to allow an empty ornonevalue for the SSL configuration value.
- Nothing.
- Nothing.
- #151 fixes a condition
in the
Sendmailtransport whereby CLI parameters were not properly trimmed.
- Nothing.
- Nothing.
- Nothing.
- #93 fixes a situation
whereby
getSender()was unintentionally creating a blankSenderheader, instead of returningnullif none exists, fixing an issue in the SMTP transport. - #105 fixes the header
implementation to allow zero (
0) values for header values. - #116 fixes how the
AbstractProtocolhandlesstream_socket_client()errors, ensuring an exception is thrown with detailed information regarding the failure.
- Nothing.
- Nothing.
- Nothing.
- Fixes ZF2016-04.
- #38 adds support in the IMAP protocol adapter for fetching items by UID.
- #88 adds and publishes documentation to https://zendframework.github.io/zend-mail/
- Nothing.
- Nothing.
- #9 fixes the
Zend\Mail\Header\Sender::fromString()implementation to more closely follow the ABNF defined in RFC-5322, specifically to allow addresses in the formuser@domain(with no TLD). - #28 and
#87 fix header value
validation when headers wrap using the sequence
\r\n\t; prior to this release, such sequences incorrectly marked a header value invalid. - #37 ensures that empty lines do not result in PHP errors when consuming messages from a Courier IMAP server.
- #81 fixes the validation
in
Zend\Mail\Addressto also DNS hostnames as well as local addresses.
- #41 adds support for IMAP delimiters in the IMAP storage adapter.
- #80 adds:
Zend\Mail\Protocol\SmtpPluginManagerFactory, for creating and returning anSmtpPluginManagerFactoryinstance.Zend\Mail\ConfigProvider, which maps theSmtpPluginManagerto the above factory.Zend\Mail\Module, which does the same, for zend-mvc contexts.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #44 fixes an issue with decoding of addresses where the full name contains a comma (e.g., "Lastname, Firstname").
- #45 ensures that the message parser allows deserializing message bodies containing multiple EOL sequences.
- #78 fixes the logic of
HeaderWrap::canBeEncoded()to ensure it returns correctly for header lines containing at least one multibyte character, and particularly when that character falls at specific locations (per a reported bug at php.net).
- Nothing.
- Nothing.
- Nothing.
- #72 re-implements
SmtpPluginManageras a zend-servicemanagerAbstractPluginManager, after reports that making it standalone broke important extensibility use cases (specifically, replacing existing plugins and/or providing additional plugins could only be managed with significant code changes).
- Nothing.
- Nothing.
- Nothing.
- #47 updates the
component to remove the (soft) dependency on zend-servicemanager, by
altering the
SmtpPluginManagerto implement container-interop'sContainerInterfaceinstead of extending fromAbstractPluginManager. Usage remains the same, though developers who were adding services to the plugin manager will need to instead extend it now. - #70 updates dependencies to stable, forwards-compatible versions, and removes unused dependencies.
- #12 adds support for simple comments in address lists.
- #13 adds support for groups in address lists.
- Nothing.
- Nothing.
- #26 fixes the
ContentTypeheader to properly handle parameters with encoded values. - #11 fixes the
behavior of the
Senderheader, ensuring it can handle domains that do not contain a TLD, as well as addresses referencing mailboxes (no domain). - #24 fixes parsing of mail messages that contain an initial blank line (prior to the headers), a situation observed in particular with GMail.