The classic email sending library for PHP
This is a maintenance release.
The change in how shell escaping is handled should not create any BC issues. What used to fail accidentally in potentially unsafe shell situations will now fail deliberately! Note to hosting providers: don't disable escapeshellarg
and escapeshellcmd
; it's not safe!
This is a maintenance release.
This is a maintenance release.
This is a maintenance release.
From
addresspt_xx
will fall back to pt
rather than the default en
.parseAddresses
Many thanks to @jrfnl for all her work.
This is a security release.
.
operator.validateAddress
, or indirectly through the $validator
class property, may no longer be simple strings. If you want to inject your own validator, provide a closure instead of a function name.Thanks to Vikrant Singh Chauhan, listensec.com, and the WordPress security team for reporting and assistance with this release.
This is a security release.
ssh2
doCallback
callsThanks to Fariskhi Vidyan for the report and assistance, and Tidelift for support.
This is a maintenance release. The changes introduced in 6.3.0 for setting an envelope sender automatically when using mail()
caused problems, especially in WordPress, so this change has been reverted. It gets a minor version bump as it's a change in behaviour, but only back to what 6.2.0 did. See #2298 for more info.
Other changes:
parseAddress
, so it won't fail if you don't have it installedsr_latn
)This is a maintenance release.
mail()
, sendmail, and qmail transports. Enable using the same mechanism as for SMTP: set SMTPDebug
> 0mail()
and sendmail transports set the envelope sender the same way as SMTP does, i.e. use whatever From
is set to, only falling back to the sendmail_from
php.ini setting if From
is unset. This avoids errors from the mail()
function if Sender
is not set explicitly and php.ini is not configured. This is a minor functionality change, so bumps the minor version number.parseAddresses
to decode encoded names, improve testsThis is a maintenance release. With this release, PHPMailer gains official PHP 8 compatibility; earlier versions worked in PHP 8 pre-releases, but the test suite did not. The considerable rework this required (which also restored tests running on older PHP versions) was done by @jrfnl – thank you very much!
This is a maintenance release.
ext-hash
as required in composer.json. This has long been required, but now it will cause an error at install time rather than runtime, making it easier to diagnoseTo
headers in BCC-only messages when using mail()