PHPMailer

The classic email sending library for PHP

LGPL-2.1 License

Downloads
69.1M
Stars
20.6K
Committers
282

Bot releases are hidden (Show)

PHPMailer - PHPMailer 6.9.1 Latest Release

Published by Synchro 11 months ago

PHPMailer 6.9.1

This is a maintenance and feature release, adding support for the official release of PHP 8.3, methods for removing and replacing custom headers, XCLIENT support, and links to a new way of implementing XOAUTH2 authentication.

The only change likely to have any impact on existing code is that PHPMailer previously attempted to use opportunistic STARTTLS encryption when connecting to localhost, which was unlikely to work. The workaround required setting SMTPAutoTLS = false, but that's no longer required. You may still need to use this setting when connecting to literal IPs.

Changes

  • Add support for official release of PHP 8.3, add experimental support for PHP 8.4
  • Add clearCustomHeader and replaceCustomHeader methods
  • Add support for the XCLIENT SMTP extension with setSMTPXclientAttribute and getSMTPXclientAttributes methods
  • Don't attempt opportunistic TLS when connecting to localhost
  • Add package link and example showing how to use @decomplexity's SendOauth2 wrapper
  • Update example to show a better way of using an SMTP subclass
  • Avoid some more deprecation warnings
  • Update Danish and Polish translations
  • Add Bengali and Assamese translations

Note: most of these changes were in the unreleased 6.9.0 version.

PHPMailer - PHPMailer 6.8.1

Published by Synchro about 1 year ago

This is a minor maintenance release.

Minor security note

The DSN support added in 6.8.0 reflects the DSN back to the user in an error message if it is invalid. If a DSN uses user-supplied input (a very bad idea), it opens a distant possibility of XSS if the host app does not escape output. In an abundance of caution, malformed DSNs are no longer reflected in error messages.

Changes

  • Don't reflect malformed DSNs in error messages to avert any risk of XSS
  • Improve Simplified Chinese, Sinhalese, and Norwegian translations
  • Don't use setAccessible in PHP >= 8.1 in tests
  • Avoid a deprecation notice in PHP 8.3
  • Fix link in readme
PHPMailer - PHPMailer 6.8.0

Published by Synchro over 1 year ago

This is a maintenance release with a new feature: DSN URL parsing, added by @voronkovich. This allows you to create a PHPMailer instance with most important settings by passing in a single URL, ideal for configuring PHPMailer from an environment variable.

Other changes:

  • Fix some name edge cases, expand tests
  • Add pattern for ZoneMTA message IDs
  • Improve Hindi translation
PHPMailer - PHPMailer 6.7.1

Published by Synchro almost 2 years ago

  • Add official support for PHP 8.2 (on release day!)
  • Add PHP 8.3 to test suite with "experimental" status
  • Add ext-openssl to composer suggest list
  • Bump development dependencies
PHPMailer - PHPMailer 6.7

Published by Synchro almost 2 years ago

  • Break out boundary definitions into a method (note that boundary format has also changed slightly)
  • Remove MIME preamble to match popular client behaviour, may help with DKIM too
  • Fix handling of trailing whitespace in simple DKIM canonicalisation
  • Fix some possible POP3 auth issues, including a TCP hang (thanks to @czirkoszoltan)
  • Add Azure XOAUTH2 example and docs (thanks to @greew)
  • Preserve errors during disconnect
  • Avoid some PHP 8.1 type issues
  • Update CI to run on Ubuntu 22.04
PHPMailer - PHPMailer 6.6.5

Published by Synchro about 2 years ago

This is a maintenance release

  • Don't try to issue RSET if there has been a connection error
  • Reject attempts to add folders as attachments
  • Don't suppress earlier error messages on close()
  • Handle Host === null better
  • Update Danish and Polish translations
  • Change recommendation for Microsoft OAuth package to thenetworg/oauth2-azure
  • Bump some GitHub action versions

Happy Hacktoberfest!

PHPMailer - PHPMailer 6.6.4

Published by Synchro about 2 years ago

This is a maintenance release.

  • Update Greek translation
  • Add text/csv MIME type
  • Fix DKIM when sending to anonymous group via mail()
  • Improve docs around auth following gmail & MS deprecations
  • Update GitHub action deps
  • Add OpenSSF Scorecard security health metrics
PHPMailer - PHPMailer 6.6.3

Published by Synchro over 2 years ago

This is a maintenance release.

  • Add an HTML form to the OAuth setup script
  • Minor CS improvements
  • Add Mongolian translation
  • Remove bogus "ch" translation

The removal of the translation file is effectively a BC break, however, I don't expect it to affect anyone except that small group of users that request error messages in the Chamorro language, but are happy getting them in Chinese instead πŸ˜†.

PHPMailer - PHPMailer 6.6.2

Published by Synchro over 2 years ago

This is a maintenance release.

  • Don't clear errors on RSET, so they can still be obtained when using keepalive
  • Bump some GitHub action versions
  • Fix some tests
  • Fix docs deployment GitHub action
  • Updates to parallel-lint and console highlighter, thanks to @jrfnl
  • πŸ‡ΊπŸ‡¦ Slava Ukraini!

Note that 6.6.1 was not released.

PHPMailer - PHPMailer 6.6.0

Published by Synchro over 2 years ago

This is a minor feature release.

Prior to this version, any OAuth provider needed to extend the provided OAuth base class, and this made it difficult to use with libraries other than ones based on the default league client packages. The OAuth property now accepts anything that implements the OAuthProviderInterface, making it much easier to use things like Google's own OAuth classes. Existing implementations that extend the provided OAuth base class will still work, as that base class now implements this interface too. Thanks to @pdscopes.

When TLS errors occurred in PHPMailer, the error messages were often missing important info that might help diagnose/solve the problem. These error messages should now be more informative. A minor change is that a TLS error on SMTP connect will now throw an exception if exceptions are enabled. Thanks to @miken32.

PHPMailer - PHPMailer 6.5.4

Published by Synchro over 2 years ago

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!

  • If we can't use escaping functions, refuse to do unsafe things
  • Avoid PHP 8.1 trim issue
  • Add tests for XMailer
  • Fix bug in use of CharSet property
  • Fix bug in file upload example
  • Update dev dependencies
PHPMailer - PHPMailer 6.5.3

Published by Synchro almost 3 years ago

This is a maintenance release.

  • Wrong commit tagged for the 6.5.2 release!
  • Version file updated
PHPMailer - PHPMailer 6.5.2

Published by Synchro almost 3 years ago

This is a maintenance release.

  • Enable official support for PHP 8.1
  • Enable experimental support for PHP 8.2
  • Fix for PHP 5.6
  • Fix for incorrect options for punyencoding IDNs
PHPMailer - PHPMailer 6.5.1

Published by Synchro about 3 years ago

This is a maintenance release.

  • Provisional support for PHP 8.1
  • Major overhaul of test suite
  • Add codecov.io coverage reporting
  • Prefer implicit TLS on port 465 as default encryption scheme in examples, as per RFC8314
  • Fix potential noisy output from IMAP address parser
  • Stricter checking of custom MessageID validity
  • Replace invalid default From address
  • Support fallback for languages, so a request for pt_xx will fall back to pt rather than the default en.
  • Support multi-line RFC2047-encoded addresses in parseAddresses
  • Improved Japanese translation

Many thanks to @jrfnl for all her work.

PHPMailer - PHPMailer 6.5.0

Published by Synchro over 3 years ago

This is a security release.

  • SECURITY Fixes CVE-2021-34551, a complex RCE affecting Windows hosts. See SECURITY.md for details.
  • The fix for this issue changes the way that language files are loaded. While they remain in the same PHP-like format, they are processed as plain text, and any code in them will not be run, including operations such as concatenation using the . operator.
  • Deprecation The current translation file format using PHP arrays is now deprecated; the next major version will introduce a new format.
  • SECURITY Fixes CVE-2021-3603 that may permit untrusted code to be run from an address validator. See SECURITY.md for details.
  • The fix for this issue includes a minor BC break: callables injected into 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.
  • Haraka message ID strings are now recognised

Thanks to Vikrant Singh Chauhan, listensec.com, and the WordPress security team for reporting and assistance with this release.

PHPMailer - PHPMailer 6.4.1

Published by Synchro over 3 years ago

This is a security release.

  • SECURITY Fixes CVE-2020-36326, a regression of CVE-2018-19296 object injection introduced in 6.1.8, see SECURITY.md for details
  • Reject more file paths that look like URLs, matching RFC3986 spec, blocking URLS using schemes such as ssh2
  • Ensure method signature consistency in doCallback calls
  • Ukrainian language update
  • Add composer scripts for checking coding standards and running tests

Thanks to Fariskhi Vidyan for the report and assistance, and Tidelift for support.

PHPMailer - PHPMailer 6.4.0

Published by Synchro over 3 years ago

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:

  • Check for the mbstring extension before decoding addresss in parseAddress, so it won't fail if you don't have it installed
  • Add Serbian Latin translation (sr_latn)
  • Enrol PHPMailer in Tidelift, because supporting open-source is important!
PHPMailer - PHPMailer 6.3.0

Published by Synchro over 3 years ago

This is a maintenance release.

  • Handle early connection errors such as 421 during connection and EHLO states
  • Switch to Github Actions for CI
  • Generate debug output for mail(), sendmail, and qmail transports. Enable using the same mechanism as for SMTP: set SMTPDebug > 0
  • Make the mail() 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.
  • Extend parseAddresses to decode encoded names, improve tests
PHPMailer - PHPMailer 6.2.0

Published by Synchro almost 4 years ago

This 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!

  • PHP 8.0 compatibility
  • Switch from PHP CS Fixer to PHP CodeSniffer for coding standards
  • Create class constants for the debug levels in the POP3 class
  • Improve French, Slovenian, and Ukrainian translations
  • Improve file upload examples so file extensions are retained
  • Resolve PHP 8 line break issues due to a very old PHP bug being fixed
  • Avoid warnings when using old openssl functions
  • Improve Travis-CI build configuration
PHPMailer - PHPMailer 6.1.8

Published by Synchro about 4 years ago

This is a maintenance release.

  • Mark 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 diagnose
  • Make file upload examples safer
  • Update links to SMTP testing servers
  • Avoid errors when set_time_limit is disabled (you need better hosting!)
  • Allow overriding auth settings for local tests; makes it easy to run tests using HELO
  • Recover gracefully from errors during keepalive sessions
  • Add AVIF MIME type mapping
  • Prevent duplicate To headers in BCC-only messages when using mail()
  • Avoid file function problems when attaching files from Windows UNC paths
  • Improve German, Bahasa Indonesian, Filipino translations
  • Add Javascript-based example
  • Increased test coverage
Package Rankings
Top 4.49% on Bower.io
Top 6.6% on Alpine-v3.4
Top 7.16% on Proxy.golang.org
Top 6.84% on Alpine-v3.3
Top 0.04% on Packagist.org
Badges
Extracted from project README's
SWUbanner Test status codecov.io Latest Stable Version Total Downloads License API Docs OpenSSF Scorecard Test status