Download the PHP package itinerisltd/wp-phpmailer without Composer
On this page you can find all versions of the php package itinerisltd/wp-phpmailer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download itinerisltd/wp-phpmailer
More information about itinerisltd/wp-phpmailer
Files in itinerisltd/wp-phpmailer
Package wp-phpmailer
Short Description WP PHPMailer provides a clean and simple way to configure WordPress-bundled PHPMailer library, allowing you to quickly get started sending mail through a local or cloud based service of your choice.
License MIT
Homepage https://github.com/ItinerisLtd/wp-phpmailer
Informations about the package wp-phpmailer
WP PHPMailer
WP PHPMailer provides a clean and simple way to configure the WordPress-bundled PHPMailer library, allowing you to quickly get started sending mail through a local or cloud based service of your choice.
- Goal
- Usage
- Mailhog
- Mailtrap
- SendGrid
- Custom Driver
- Step 1. Define Your Driver
- Step 2. Register Your Driver
- Step 3. Define Constants
- Filters
wp_phpmailer_driver
wp_phpmailer_drivers
wp_phpmailer_config_mappings
- Minimum Requirements
- Installation
- Composer (Recommended)
- wordpress.org (WP CLI)
- wordpress.org
- Build from Source (Not Recommended)
- Common Errors
- FAQ
- Where is the settings page?
- Will you add a settings page?
- What PHPMailer version bundled?
- Is it a must to use SMTP?
- Will you add support for older PHP versions?
- It looks awesome. Where can I find more goodies like this?
- Where can I give :star::star::star::star::star: reviews?
- Testing
- Feedback
- Security
- Credits
- License
Goal
Although WordPress bundles the PHPMailer library which allow you sending mail through a local or cloud based service of your choice, different cloud based service requires different configuration.
Worse still, most services provide multiple ways for setting them up. For instance: which SendGrid SMTP port provides the highest level of security, 25
, 587
, 2525
or 465
?
WP PHPMailer uses the WordPress-bundled PHPMailer library:
- so you offload the responsibility of updating bundled libraries from plugin authors to WordPress core team and contributors
- at the time of writing, the official SendGrid plugin's vendor folder hasn't been updated in 2.5 years
WP PHPMailer believes in convention over configuration, we pick the best configuration for each service:
- so you don't waste time going through the documents
- so you don't have to figure out which port and protocol to use
- so you don't miss any security configuration, e.g:
SMTPAuth
,SMTPSecure
, etc- unlike the official Mailgun plugin, there is no "use secure SMTP" option because nobody should be using insecure options
- so you only have to provide minimum information
- take SendGrid for example, only SendGrid API key (with "Mail Send" permission only) is required
WP PHPMailer believes a plugin should "do one thing and do it well":
- unlike the official SendGrid plugin, WP PHPMailer doesn't include the subscription widget nor the stats dashboard
Usage
Pick one driver and define its required constants in wp-config.php
.
Mailhog
Mailtrap
SendGrid
Custom Driver
Step 1. Define Your Driver
Step 2. Register Your Driver
Step 3. Define Constants
Filters
wp_phpmailer_driver
$driver = (string) apply_filters('wp_phpmailer_driver', string $wpPhpmailerDriver))
Filters the WP_PHPMAILER_DRIVER
constant.
Parameters:
- $wpPhpmailerDriver
- (string) the value of
WP_PHPMAILER_DRIVER
constant
- (string) the value of
wp_phpmailer_drivers
$drivers = (array) apply_filters('wp_phpmailer_drivers', array $drivers)
Filters the available drivers array.
Parameters:
- $drivers
- (array) the available drivers array
Example:
wp_phpmailer_config_mappings
$mappings = (array) apply_filters('wp_phpmailer_config_mappings', array $mapings)
Filters the whitelisted PHPMailer configuration (property names) array. 'fromAddress', 'fromName', 'fromAuto' are special. Do not add them in mappings!
Parameters:
- $mapings
- (array) the whitelisted PHPMailer configuration (property names)
Example:
Minimum Requirements
- PHP v7.2
- WordPress v5.5
Installation
Composer (Recommended)
wordpress.org (WP CLI)
wordpress.org
Download from https://wordpress.org/plugins/wp-phpmailer
Then, install wp-phpmailer.zip
as usual.
Build from Source (Not Recommended)
Then, install release/wp-phpmailer.zip
as usual.
Common Errors
NotFoundException
- Driver 'xxx' not found, acceptable values are: aaa, bbb, ccc
Reason: Driver is not found or not defined.
Troubleshooting:
- Ensure PHP constant is
WP_PHPMAILER_DRIVER
is correct - Ensure filter
wp_phpmailer_driver
is functioning correctly
FAQ
Where is the settings page?
There is no settings page.
All configurations are done by PHP constants and WordPress filters.
Will you add a settings page?
No.
We have seen countless vulnerabilities related to user inputs. Mail settings don't change often and should be configured by a developer. Therefore, WP PHPMailer decided to use PHP constants instead of storing options in WordPress database.
However, if you must, you can use filters to override this behavior.
What PHPMailer version bundled?
This plugin reuse the PHPMailer class bundled with WordPress core.
Thus, you have to keep WordPress core up to date to receive security patches.
Is it a must to use SMTP?
No.
While you can make your own non-SMTP drivers, all default drivers are using SMTP. Pull requests are welcomed.
Will you add support for older PHP versions?
Never! This plugin will only work on actively supported PHP versions.
Don't use it on end of life or security fixes only PHP versions.
It looks awesome. Where can I find more goodies like this?
- Articles on Itineris' blog
- More projects on Itineris' GitHub profile
- More plugins on Itineris and TangRufus wp.org profiles
- Follow @itineris_ltd and @TangRufus on Twitter
- Hire Itineris to build your next awesome site
Where can I give :star::star::star::star::star: reviews?
Thanks! Glad you like it. It's important to let my boss knows somebody is using this project. Please consider:
- leave a 5-star review on wordpress.org
- tweet something good with mentioning @itineris_ltd and @TangRufus
- :star: star this Github repo
- :eyes: watch this Github repo
- write blog posts
- submit pull requests
- hire Itineris
Testing
Pull requests without tests will not be accepted!
Feedback
Please provide feedback! We want to make this library useful in as many projects as possible. Please submit an issue and point out what you do and don't like, or fork the project and make suggestions. No issue is too small.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
WP PHPMailer is a Itineris Limited project created by Tang Rufus.
Special thanks to Brandon whose WP SMTP inspired this project.
Full list of contributors can be found here.
License
WP PHPMailer is released under the MIT License.