zendframework/zend-mail
Abandoned; use laminas/laminas-mail. Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages
2.10.0
14M downloads/mo
#4490 most downloaded on Packagist
zendframework/zend-mail
What this package is like to depend on
Last release 8 years ago
no release in 18 months
Ships fairly regularly
a new release about every 3 months
Rarely documented
notes for 14 of 71 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
71 releases · first in 2012
0 releases in the last 12 months
see the full history below
Release timeline
59 releases · Oct 2012 to Jun 2018Releases
latest 60 of 71-
2.10.007 Jun 2018Release notes
Open source →Added
-
#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 class
Zend\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.
Changed
-
#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.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
#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).
Release notes
Open source →Added
-
#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.
Changed
-
#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.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
-
#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).
-
-
2.9.001 Mar 2018Release notes
Open source →zend-mail 2.9.0
Added
- #177
#181
#192
#189 PHP 7.2 support - #73
#160 Support for
mails that don't have aTo, 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
Deprecated
- Nothing.
Removed
Fixed
- #188 split strings
before callingiconv_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.
Full log
Total issues resolved: 18
- 73: Emails don't need to have a To: header thanks to @ulab
- 134: use strpos for fixed string matching thanks to @glensc
- 143: Fix and test ">" being part of email "comment". fixes #127 thanks to @glensc
- 156: fix regression: MessageId having double brackets thanks to @glensc
- 157: Update project path in
CONTRIBUTING.mdthanks to @glensc - 160: Fixes #73 : allow Message to not has "To" header thanks to @samsonasik
- 161: Protocol\Smtp cleanup thanks to @Slamdunk
- 171: Add PHPDoc comments thanks to @danielabyan
- 176: Fix a typo in the "Using folders" documentation thanks to @marclaporte
- 177: Add PHP 7.2 support thanks to @froschdesign
- 180: added missing new keyword thanks to @uikolas
- 181: Fix deprecated variant in idn_to_ascii thanks to @matbech
- 183: testCanBeEncoded fails thanks to @remicollet
- 184: Updated to php-coveralls/php-coveralls thanks to @webimpress
- 188: unfold before calling iconv_mime_decode thanks to @glensc
- 189: Add PHP 7.2 support thanks to @Slamdunk
- 190: PHPDoc:
Message#getBody()can also return astringthanks to @Slamdunk - 192: Use the INTL_IDNA_VARIANT_UTS46 idn_to_ascii variant thanks to @mtorromeo
Release notes
Open source →Added
- #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
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #177
-
2.8.008 Jun 2017Release notes
Open source →Added
- #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.
Changed
- #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.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #151 fixes a condition in the
Sendmailtransport whereby CLI parameters were not properly trimmed.
Release notes
Open source →Added
- #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.
Changed
- #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.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #151 fixes a condition
in the
Sendmailtransport whereby CLI parameters were not properly trimmed.
- #117 adds support configuring whether or not an SMTP transport should issue a
-
2.7.314 Feb 2017Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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.
Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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.
-
2.7.219 Dec 2016Release notes
Open source →Release notes
Open source → -
2.7.109 May 2016Release notes
Open source →Added
- #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/
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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.
Release notes
Open source →Added
- #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/
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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.
-
2.7.011 Apr 2016Release notes
Open source →Added
- #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.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Nothing.
-
2.6.211 Apr 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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).
-
2.6.124 Feb 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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).
-
2.6.018 Feb 2016Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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.
-
2.5.210 Sep 2015Release notes
Open source →Added
- #12 adds support for simple comments in address lists.
- #13 adds support for groups in address lists.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- #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.
-
2.5.103 Jun 2015Nothing published for this version
-
2.5.003 Jun 2015Nothing published for this version
-
2.4.1313 Jul 2017Release notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Fixes issues caused by using PHP 5.4+ short-array notation within the
HeaderValueclass.
-
2.4.1219 Dec 2016Nothing published for this version
-
2.4.11no dateRelease notes
Open source →Added
- Nothing.
Deprecated
- Nothing.
Removed
- Nothing.
Fixed
- Fixes the ZF2016-04 advisory
("Potential remote code execution in zend-mail via Sendmail adapter").
-
2.4.1009 May 2016 -
2.4.910 Sep 2015Nothing published for this version
-
2.4.8no dateNothing published for this version
-
2.4.711 May 2015Nothing published for this version
-
2.4.6no dateNothing published for this version
-
2.4.5no dateNothing published for this version
-
2.4.4no dateNothing published for this version
-
2.4.3no dateNothing published for this version
-
2.4.2no dateNothing published for this version
-
2.4.107 May 2015Nothing published for this version
-
2.4.031 Mar 2015Nothing published for this version
-
2.3.911 May 2015Nothing published for this version
-
2.3.807 May 2015Nothing published for this version
-
2.3.712 Mar 2015Nothing published for this version
-
2.3.612 Mar 2015Nothing published for this version
-
2.3.518 Feb 2015Nothing published for this version
-
2.3.414 Jan 2015Nothing published for this version
-
2.3.316 Sep 2014Nothing published for this version
-
2.3.212 Aug 2014Nothing published for this version
-
2.3.115 Apr 2014Nothing published for this version
-
2.3.012 Mar 2014Nothing published for this version
-
2.2.1006 Mar 2014Nothing published for this version
-
2.2.9no dateNothing published for this version
-
2.2.8no dateNothing published for this version
-
2.2.7no dateNothing published for this version
-
2.2.6no dateNothing published for this version
-
2.2.531 Oct 2013Nothing published for this version
-
2.2.426 Aug 2013Nothing published for this version
-
2.2.321 Aug 2013Nothing published for this version
-
2.2.224 Jul 2013Nothing published for this version
-
2.2.112 Jun 2013Nothing published for this version
-
2.2.015 May 2013Nothing published for this version
-
2.1.617 Apr 2013Nothing published for this version
-
2.1.5no dateNothing published for this version
-
2.1.413 Mar 2013Nothing published for this version
-
2.1.321 Feb 2013Nothing published for this version
-
2.1.220 Feb 2013Nothing published for this version
-
2.1.106 Feb 2013Nothing published for this version
-
2.1.030 Jan 2013Nothing published for this version
-
2.0.813 Mar 2013Nothing published for this version
-
2.0.729 Jan 2013Nothing published for this version
-
2.0.619 Dec 2012Nothing published for this version
-
2.0.529 Nov 2012Nothing published for this version
-
2.0.420 Nov 2012Nothing published for this version