Skip to main content

Emails

To ensure reliable delivery of emails sent by your Craft CMS, we recommend using Amazon Simple Email Service (AWS SES) as your email server. AWS SES offers high deliverability and scalability for sending transactional emails, such as password resets, notifications, and other system-related messages.

Required Environment Variables

Configure the following environment variables in your .env file for email settings:

  • CRAFT_TEST_TO_EMAIL_ADDRESS — The email address used as a testing endpoint for all system emails in development.
  • EMAIL_SYSTEM_ADDRESS — The email address Craft CMS will use when sending out system emails.
  • EMAIL_SENDER_NAME — The name that will appear as the sender in system emails, set to 'Overdog'.
  • EMAIL_REPLY_TO — The email address to use for 'Reply-To' in system emails (optional).
  • EMAIL_PORT — The port number for the SMTP server, provided by AWS SES.
  • EMAIL_HOSTNAME — The AWS SES SMTP endpoint hostname.
  • EMAIL_USERNAME — The SMTP username for authentication with AWS SES.
  • EMAIL_PASSWORD — The SMTP password for authentication with AWS SES.

It is critical to remove or change the CRAFT_TEST_TO_EMAIL_ADDRESS when in production.

Setting Up in the Control Panel

To configure your email settings in the Craft CMS control panel:

  1. Go to Settings → Email.
  2. Fill in the following fields as indicated, using your environment variables:
  • System Email Address: Set this to $EMAIL_SYSTEM_ADDRESS, which is the address Craft will use to send emails.
  • Reply-To Address: Optionally set this to $EMAIL_REPLY_TO if you want to use a different address for replies.
  • Sender Name: Set this to $EMAIL_SENDER_NAME, which is the name that will appear as the sender in emails.
  • Transport Type: Choose SMTP from the dropdown.
  • Hostname: Enter $EMAIL_HOSTNAME which corresponds to your AWS SES SMTP endpoint.
  • Port: Fill in with $EMAIL_PORT which is the port number provided by AWS SES.
  • Use authentication: Toggle this to 'Yes'.
  • Username: This should be your AWS SES SMTP username, entered as $EMAIL_USERNAME.
  • Password: This should be your AWS SES SMTP password, entered as $EMAIL_PASSWORD.

Remember to adjust these settings according to your AWS SES configuration. Consult the AWS SES documentation for specific details on obtaining your SMTP credentials and configuring your email.