By default your environment is configured to send emails from the placeholder domain “no-reply@-.sites.silverstripe.com”; this is configured from the variables section of your environment with the 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 user1@example.com, user2@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 amazonses:example-value-do-not-use
.
DKIM
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
See the developer documentation for further documentation on setting up email in Silverstripe CMS.
Debugging email
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.
See the Silverstripe CMS developer guides on how email is managed. The Sendmail transport is recommended for projects and is supported in Silverstripe Cloud.
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 CMS 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.
Receiving emails
Silverstripe Cloud currently doesn’t provide an email server where you can receive emails.