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_limit
to the possibleZend\Mail\Transport\Smtp
options. This flag, when provided as a positive integer, and in conjunction with theuse_complete_quit
flag, will reconnect to the server after the specified interval. -
#166 adds functionality for handling
References
andIn-Reply-To
headers. -
#148 adds the optional constructor argument
$comment
and 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$comment
argument 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
AbstractAddressList
IDN<->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
ContentType
header 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\AbstractAddressList
parses address values, ensuring that they now retain any address comment discovered to include in the generatedZend\Mail\Address
instances. -
#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 asCc
orBcc
are 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
QUIT
at__destruct()
and/or end of script execution. Use theuse_complete_quit
configuration 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
Sendmail
transport such thatFrom
andSender
addresses are passed toescapeshellarg()
when forming the-f
argument for thesendmail
binary. While malformed addresses should never reach this class, this extra hardening helps ensure safety in cases where a developer codes their ownAddressInterface
implementations for these types of addresses. - #141 updates
Zend\Mail\Message::getHeaders()
to throw an exception in a case where the$headers
property is not aHeaders
instance. - #150 updates the
Smtp
protocol to allow an empty ornone
value for the SSL configuration value.
- Nothing.
- Nothing.
- #151 fixes a condition
in the
Sendmail
transport whereby CLI parameters were not properly trimmed.
- Nothing.
- Nothing.
- Nothing.
- #93 fixes a situation
whereby
getSender()
was unintentionally creating a blankSender
header, instead of returningnull
if 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
AbstractProtocol
handlesstream_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\Address
to 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 anSmtpPluginManagerFactory
instance.Zend\Mail\ConfigProvider
, which maps theSmtpPluginManager
to 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
SmtpPluginManager
as 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
SmtpPluginManager
to implement container-interop'sContainerInterface
instead 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
ContentType
header to properly handle parameters with encoded values. - #11 fixes the
behavior of the
Sender
header, 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.