By default your environment is configured to send emails from the placeholder domain “[email protected]”; this is configured from the variables section of your environment with the SS_SEND_ALL_EMAILS_FROM environment variable.
Please note, the sites.silverstripe.com email address is not permitted to send through Silverstripe’s Email Service from your environment. The environment will send this email directly, however your spam protections or other warnings may prevent this email from being sent. We highly recommend setting up an email domain and configuring your environment to send from that domain to ensure emails are sent successfully.
Sending emails
As part of our managed service we manage the default PHP SMTP configuration on your environments. The default configuration is to try deliver emails directly from the server your website sits on however this is a 'best effort' configuration and should be considered for testing only. This functionality is limited and messages may not be received by your intended recipient.
Silverstripe's email service is available to environments for sending verified emails through usage of an upstream manager service.
To reliably send emails we provide an emailing service through Silverstripe's email service, however additional configuration is required to use this service. Usage of Silverstripe's email service or an alternative third-party email service is recommended for sending verified emails to ensure best chance of delivery to intended recipients.
As every remote email server has unique configuration and implements their own verification systems, we can't guarantee 100% delivery.
Setting up email domains for Silverstripe's email service
To use Silverstripe's email service to send emails, you will need to make some changes to your environment to configure certain domains you wish to send emails from (E.g. @example.com).
Virtual stacks will need to have their “Email Domains” loaded into the base stack
Subdomain support
If you register and configure the domain “http://example.com ”, you can send email from [email protected], [email protected], or any other user at http://example.com . You can also send from any subdomain of that domain without explicitly verifying the subdomain. For example, if you verify http://example.com , you do not need to verify a.example.com or a.b.example.com.
1. Register your domain
This can be achieved by adding the domain to the "Email Domains" tab in your environment configuration page.
To start the configuration process for an email domain, click the “Register a domain” button and register the domain you want to be able to send emails from.
2. Verifying ownership of domain
Silverstripe's email service requires that you verify ownership of the domain before proceeding with configuration. After registering your domain, your domain will be loaded into Dash with DNS details provided for verifying ownership of the domain.
Add the provided TXT record to your domain’s DNS server using the specified Name and Value. Silverstripe’s system automatically checks for DNS updates periodically, so you will see on the Dash application once DNS Verification has been complete.
3. Configuring DKIM records for domain to allow sending of emails
When your domain is verified by our systems, you will be presented with DKIM Configuration DNS settings that will need to be configured for your domain.
These DNS settings allow Silverstripe’s Email Service to be verified senders from the domain given specifically for the environment it is loaded onto.
Add the provided TXT record to your domain’s DNS server using the specified Name and Value. Silverstripe’s system automatically checks for DNS updates periodically, so you will see on the Dash application once DNS Configuration has been complete.
4. Deploy your Changes
Once your domain has been configured, the Dashboard application will show your domain as “Active”. In order for your environment to be configured to use these domains, you will need to perform a deployment.
In your deployment details, you should see changes to your email domains (E.g Adding / Removing domains).
FAQ
How often is DNS checked for updates?
DNS is checked frequently for Domain Ownership and Configuration DNS values. This often takes less than 10 minutes to complete, however if you have not seen any verification after 30 minutes we recommend verifying your DNS records are setup correctly.
If verification has not occurred after a few hours, please reach out to our service desk for further assistance.
NOTE: If DKIM Configuration is not completed with 72 hours, you may find you Domain will be marked as “DKIM Verification Failed”. To resolve this issue you will need to remove and re-add your domain or reach out to service desk for manual intervention.
Debugging email on your Environment
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.
DKIM Verification Failed
If a Domain that you have configured, or are in the process of configuring, starts reporting “DKIM Verification Failed”, you will need to reconfigure the DKIM records for your domain.
This occurs when the DKIM records used by Silverstripe’s Email Service are removed from the DNS configuration for the domain, or if the backend system has been waiting for more than 72 hours to check the DNS records. These DNS records need to persist through the lifecycle of the email domain usage or you may find emails failing to send.
If you have configured the DKIM DNS records, you can reach out to the Service Desk to request DKIM verification to be manually re-enabled.
DNS Issue Detected
This issue occurs when the DNS records setup for the email domain were removed or un-reachable by Silverstripe’s Email Service.
This likely is also resulting in emails failing to be sent.
When DNS records for domain ownership are removed, this is intepreted by Silvestripe’s Email Service as revokation of permissions, and the service automatically takes steps to prevent further emails from being sent.
To restore email operations, ensure all DNS records are configured for the domain impacted.
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.