Amazon Simple Email Service (Amazon SES) is a cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. It is a reliable, cost-effective service for businesses of all sizes that use email to keep in contact with their customers

Reliable email delivery is key in web based application, you don't want your customers to miss that order confirmation email or a very important notification.

The following guide utilises Amazon SES to send emails from with Joomla;

Pricing

Please be familiar with the Amazon SES costs before your system goes into production, for latest pricing see https://aws.amazon.com/ses/pricing/

Configuration of SES

Search for Simple Email Service within the AWS Management Console.

    Make sure you are in the correct Region from which you are enabling SES email

    Click on the 'Domains' link in the left navigation

    Add the domain from which you will be sending emails (i.e. infra.engineer)

Once you add the domain, Amazon will ask you to create certain valued DNS records to verify you are authorised to send email on behalf of the domain.

These records will have to be added to your domain's control panel for verification, if is recommended to add the DKIM records

Add these DNS records into your DNS management console, below is an example of adding the records into AWS Route 53

 

When Amazon Web Services has confirmed that these values are present in the DNS settings for the domain, the Status for the domain will change to "verified".

This may take up to 72 hours with certain companies but if you are using AWS Route 53 (Highly recommended) these should be verified in under 10 minutes.

Click the "SMTP Settings" link in the left navigation, and note the SMTP host and port.

Click on the "Create my SMTP credentials" button. Follow on-screen instructions to create a logically named IAM SMTP username and password.

 

Note/download your SMTP Username and Password for use in Joomla

 

In the sandbox environment, you will also have to verify an email address in which mail will be sent to, select Email Addresses then verify a new email address (In my environment, i have to verify a gmail email address)

Set up Joomla to use the SES SMTP Details

Login to Joomla administration, navigate to System > Global Configuration > Server > Mail Settings

Enter the SMTP Username and password recorded earlier along with the region specified and the following settings;

 

Try a test email by selecting the Send Test Mail button, if you successfully receive the email proceed to setup a contact form or creating a user. If the email does not come through ensure the details are the same as what was issued by Amazon.

Finally, you will need to tell Amazon that you are ready to take it out of the sandbox (which limits SES to 200 emails per day and where you need to verify each recipient email address) by submitting a support ticket to raise your sending limit following these instructions. https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html