garubi / wp-mail-ses

WordPress Plugin which uses Amazon's Simple Email Service (SES) to send emails

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

=== WP Mail SES ===
Contributors: bashaus
Tags: wp_mail, ses, mail
Requires at least: 3.0.1
Tested up to: 5.7
Stable tag: trunk
License: MIT
License URI: https://opensource.org/licenses/MIT

Uses Amazon Web Services (AWS) Simple Email Service (SES) to send emails in WordPress.

== Description ==

Uses Amazon Web Services (AWS) Simple Email Service (SES) to send emails.
Based on the original WP SES project by Sylvain Deaure. Main differences:

* Does not store credentials in the database
* Convention over configuration
* Removed any functionality which can be done via AWS Console
* Open Source and [version controlled via GitHub](https://github.com/bashaus/wp-mail-ses/)

== Installation ==

Follow these instructions:

= 1. Amazon confirmation and approval =

You will need to setup Simple Email Service (SES) on your Amazon Web Services
account before you can use this plugin.

For more information, [read Amazon's documentation on how to setup
SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/setting-up-email.html)

= 2. Update configuration =

Update your `wp-config.php` file to include the required constants:

    /**
     * Include your AWS keys.
     *
     * A safe approach is to store your key and secret in environment
     * variables. This way, your credentials are not hard coded in version
     * control.
     */

    define( 'WP_MAIL_SES_ACCESS_KEY_ID', getenv( 'WP_MAIL_SES_ACCESS_KEY_ID' ) );
    define( 'WP_MAIL_SES_SECRET_ACCESS_KEY', getenv( 'WP_MAIL_SES_SECRET_ACCESS_KEY' ) );

    /**
     * Define the endpoint for your emails to be sent. Endpoints include:
     *
     * email.us-east-1.amazonaws.com
     * email.us-west-2.amazonaws.com
     * email.eu-west-1.amazonaws.com
     */

    define( 'WP_MAIL_SES_ENDPOINT', 'email.eu-west-1.amazonaws.com' );

Optional extra configuration:

    /**
     * Define the composer information for your email (who the email is
     * sent from). The email address must be approved in your AWS console
     * in the specified region.
     *
     * This email address is used if a composer is not already defined by
     * the email.
     */

    define( 'WP_MAIL_SES_COMPOSER_NAME', 'Company Name' );
    define( 'WP_MAIL_SES_COMPOSER_EMAIL', 'confirmed@example.com' );

    /**
     * Disable accessing of statistics from the Dashboard.
     * This can help if you're hitting the API too frequently.
     */

    define( 'WP_MAIL_SES_HIDE_STATISTICS', true );


= 3. Install plugin =

Copy this folder `wp-mail-ses` to your `/wp-content/plugins/` directory.


= 4. Activate plugin =

Go to your WordPress Administration and activate the `WP Mail SES` plugin.

= 5. Send a test message =

Go to: `Admin` » `Settings` » `WP Mail SES`

== Upgrade Notice ==

No notices


== Changelog ==

= 1.0 =
 * Detached from Bashkim Isai repository
 * upgraded to AmazonSimpleEmailService v0.9.1 from https://github.com/daniel-zahariev/php-aws-ses
 * added support for ConfigurationSet via add_filter('wp_mail_ses_configuration_set')

= 0.0.4 =
* Integrated with Travis CI
* Added PHPCS and linked to WordPress-Extra standards
* Cleaned up code with phpcs/phpcbf
* Added .editorconfig
* Updated SimpleEmailService to 0.9.0

= 0.0.3 =
* Bug fix for $recipients variable [#3]

= 0.0.2 =
* Added filter to notify of email sent status [#2]

= 0.0.1 =
* Initial release


== Frequently Asked Questions ==

= Why isn't my email sending? =

There are a number of reasons that an email might not be sent via SES, here is
a quick checklist to ensure that the plugin has been setup properly:

Have you:

* Defined `WP_MAIL_SES_ACCESS_KEY_ID`, `WP_MAIL_SES_SECRET_ACCESS_KEY` and
  `WP_MAIL_SES_ENDPOINT` in `wp-config.php`?
* Confirmed that you own a domain name in the Amazon SES console?
* Confirmed an email address in the Amazon SES console?
* Requested your [service limit to be increased](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html) ?
* Tried defining `WP_MAIL_SES_COMPOSER_EMAIL` in `wp-config.php` with your
  verified email address?

= I can send emails to myself, but not to others =

In order to send emails to the public, you need to move out of the Amazon SES
Sandbox and into the production account. [Read the documentation on
Amazon](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html).

= Got another question? =

You can [post your question on GitHub](https://github.com/bashaus/wp-mail-ses).

== Screenshots ==

None yet

== Usage ==

= View statistics =

Go to: `Admin` » `Dashboard` » `SES Statistics`

= Send test message =

Go to: `Admin` » `Settings` » `WP Mail SES`

= Hooks/Filters =

`wp_mail_ses_sent_email` - This function is called once an email has been sent
to SES and provides two parameters:

* `$message_id` (`string` or `null`) -
  The `MessageId` as provided by SES if the request was successful,
  otherwise null.
* `$mail_data` (`array`) -
  A hash map containing the information used to send the email. Keys include:
  `to`, `subject`, `message`, `headers`, `attachments`

Example:

    add_filter( 'wp_mail_ses_sent_email', function ( $message_id, $mail_data ) {
        if ( is_null( $message_id ) ) {
            echo "Sending failed";
        } else {
            echo "Sending successful";
        }

        print_r( $mail_data );
    } );

About

WordPress Plugin which uses Amazon's Simple Email Service (SES) to send emails

License:MIT License


Languages

Language:PHP 100.0%