By default your environment is configured to send emails from the placeholder domain “no-reply@
SS_SEND_ALL_EMAILS_FROM environment variable.
If you try to send emails with a “from” address other than the initially provided email address, the emails might be blocked from being sent or have other issues. You will need to verify the domain to prove ownership by contacting support to get the domain verification process started.
Verifying ownership of domain
If you are using the default SilverStripe framework Mailer to send out emails, the emails are sent via AWS Simple Email Service (SES). AWS SES requires that you verify your custom domain to confirm that you own it and to prevent others from using it.
For example, if you verify the domain “example.com”, you can send email from firstname.lastname@example.org, email@example.com, or any other user at example.com. You can also send from any subdomain of that domain without explicitly verifying the subdomain. For example, if you verify example.com, you do not need to verify a.example.com or a.b.example.com.
When you initiate domain verification with us, we will give you the name and value to use for the TXT record. For example, if your domain is example.com, the TXT record settings will look similar to the following example:
Name Type Value _amazonses.example.com TXT example-value-do-not-use
Add a TXT record to your domain’s DNS server using the specified Name and Value and then contact us so that we can check the status of the domain verification.
If your DNS provider does not allow DNS record names to contain underscores, you can omit _amazonses from the Name. In that case, for the preceding example, the TXT record name would be
example.com instead of
_amazonses.example.com. To make the record easier to recognize and maintain, you can also optionally prefix the Value with amazonses:. In the previous example, the value of the TXT record would therefore be
DomainKeys Identified Mail (DKIM) is a standard that allows senders to sign their email messages and ISPs to use those signatures to verify that those messages are legitimate and have not been modified by a third party in transit.
An email message that is sent using DKIM includes a DKIM-Signature header field that contains a cryptographically-signed representation of all, or part, of the message. An ISP receiving the message can decode the cryptographic signature using a public key, published in the sender’s DNS record, to ensure that the message is authentic. For more information about DKIM, see http://www.dkim.org.
DKIM signatures are optional. You might decide to sign your email using a DKIM signature to enhance deliverability with DKIM-compliant ISPs.
When you contact us to setup domain verification we will provide DNS records to configure DKIM. The CNAME record setting will look similar to the following example:
Name Type Value example-value-do-not-use-1._domainkey.example.com CNAME example-value-do-not-use-1.dkim.amazonses.com example-value-do-not-use-2._domainkey.example.com CNAME example-value-do-not-use-2.dkim.amazonses.com example-value-do-not-use-3._domainkey.example.com CNAME example-value-do-not-use-3.dkim.amazonses.com
Contact support to get the domain verification process started.
Configure SilverStripe to use the sender domain for emails
First, configure your SilverStripe site’s default ‘from’ address for emails, such as password reset emails, by following the administrator emails documentation.
Then ensure that you send emails from your application with the correct from address:
$email = new Email('firstname.lastname@example.org', 'email@example.com', 'hello', 'email body text');
For more extensive documentation on how to use the SilverStripe emailer, see the API documentation.
You will also have to remove the
SS_SEND_ALL_EMAILS_FROM environment variable.
You can search all email sent with logs by using the search query
log_type:postfix\/* in your stream. Note that if the email has been successfully sent and not been “bounced”, then we cannot determine the delivery success of the email.
Advanced email sending
If you send a lot of emails, want more control of delivery success or require more advanced email features, we highly recommend that you look for a provider that specialises in emails with an API that you can use in your SilverStripe code.
If you’re attempting to send emails using a custom domain name but they are not being delivered, contact support to check that your custom domain is verified to send emails.
SilverStripe Platform currently doesn’t provide an email server where you can receive emails.