CiviForm Docs
HomeAboutContactNewsFAQ
  • CiviForm Docs
  • Overview
    • What is CiviForm?
    • How does CiviForm work?
    • Glossary
  • User Manual
    • CiviForm Admin Guide
      • CiviForm Admin training overview
      • How to navigate CiviForm
      • Working with programs
        • Create a program
        • Edit a program
        • Show or hide questions based on inputs
        • Manage program eligibility
        • Manage address & service area validation
        • Manage notifications
        • How to publish programs
        • Set a pre-screener
      • Working with questions
        • Manage questions
        • Question export settings
        • Universal and Primary Applicant Information questions
        • Using enumerator questions & screens in a program
      • Manage translations for programs & questions
      • Manage versions for programs & questions
      • Working with applications
        • Add statuses to a program
        • Download exported data
      • Role management
        • Manage Program Admins
        • Manage Trusted Intermediaries
      • Manage API keys
      • Using Markdown
      • Migrating programs between environments
    • Program Admin Guide
      • How to become a Program Admin
      • Review completed applications
    • Trusted Intermediary Guide
      • Apply to a program
    • Onboarding Guide
      • Organization assessment
      • Program assessment
      • Getting started with service design
      • Journey mapping
      • Discovery, eligibility, and intake
      • Consolidating questions across programs
      • Working with existing tools and processes
      • Working across jurisdictions
      • Data reporting and other integrations
      • Security and privacy considerations
      • Staffing overview
  • IT Manual
    • Technical Deployment Guide
      • Initial Deployment
        • Terraform deploy system
          • AWS Terraform deployment
        • Authentication setup
        • Email configuration
        • GIS Service configuration
      • Upgrading to a New Release
        • CiviForm server environment variables
          • v1.20.0
          • v1.20.1
          • v1.21.0
          • v1.22.0
          • v1.23.0
          • v1.23.1
          • v1.24.0
          • v1.24.1
          • v1.24.2
          • v1.25.0
          • v1.26.0
          • v1.27.0
          • v1.28.0
          • v1.29.0
          • v1.30.0
          • v1.30.1
          • v1.31.0
          • v1.33.0
          • v1.34.0
          • v1.34.1
          • v1.34.2
          • v1.35.0
          • v1.36.0
          • v1.37.0
          • v1.38.0
          • v1.38.1
          • v1.38.2
          • v1.39.0
          • v1.40.0
          • v1.41.0
          • v1.42.0
          • v1.43.0
          • v1.44.0
          • v1.45.0
          • v1.46.0
          • v1.47.0
          • v1.48.0
          • v1.49.0
          • v1.50.0
          • v1.51.0
          • v1.52.0
          • v1.53.0
          • v1.54.0
          • v1.55.0
          • v1.56.0
          • v1.56.1
          • v1.57.0
          • v1.58.0
          • v1.59.0
          • v1.60.0
          • v1.61.0
          • v1.62.0
          • v1.63.0
          • v2.0.0
          • v2.0.1
          • v2.0.2
          • v2.1.0
          • v2.10.0
          • v2.11.0
          • v2.12.0
          • v2.13.0
          • v2.14.0
          • v2.15.0
          • v2.16.0
          • v2.17.0
          • v2.18.0
          • v2.19.0
          • v2.2.0
          • v2.20.0
          • v2.21.0
          • v2.22.0
          • v2.23.0
          • v2.24.0
          • v2.25.0
          • v2.26.0
          • v2.27.0
          • v2.28.0
          • v2.29.0
          • v2.3.0
          • v2.30.0
          • v2.31.0
          • v2.32.0
          • v2.33.0
          • v2.34.0
          • v2.35.0
          • v2.36.0
          • v2.37.0
          • v2.38.0
          • v2.39.0
          • v2.4.0
          • v2.4.1
          • v2.4.2
          • v2.4.3
          • v2.5.0
          • v2.6.0
          • v2.7.0
          • v2.8.0
          • v2.9.0
      • Monitoring
      • Troubleshooting Production
      • Disaster Recovery
      • Database Disaster Recovery
      • Production Database Access
    • Infrastructure Requirements
    • Existing deployments
    • API Integration
      • Authentication
      • List applications
    • Testing & QA
      • Testing resources
      • SQL queries to look for missing questions
  • Governance & Management
    • Project Management
      • On Call Guide
    • Governance
      • Roles, Committees, & Responsibilities
      • Governance Processes
      • Development Principles
      • Communication
Powered by GitBook
On this page
  • Email addresses
  • Emails in staging
  • Emails in prod
  • AWS SES
  • Using a no-reply email address for SENDER_EMAIL_ADDRESS
  • Testing emails

Was this helpful?

Edit on GitHub
Export as PDF
  1. IT Manual
  2. Technical Deployment Guide
  3. Initial Deployment

Email configuration

PreviousAuthentication setupNextGIS Service configuration

Last updated 1 year ago

Was this helpful?

CiviForm uses email to send notifications to program administrators, applicants, and for a few other functionalities. Email addresses are provided via the deployment configuration file or the Admin Settings Panel. Below is the list of different email addresses that are required and some recommendations on how to organize them.

Email addresses

Support email address Applicants see this email address in the footer of each page as a mailto link. This value should be set via the Admin Settings PanelSUPPORT_EMAIL_ADDRESS.

Sender email address This email address is used as a sender for all notifications sent by the CiviForm. For example, notifications sent on new applications (sent to program admins) and program status changes (sent to applicants). Config variable is SENDER_EMAIL_ADDRESS.

Notifications recipients in staging. These email addresses are used only in staging. Instead of sending email notifications to program admins, they are sent to the provided email addresses. Config variables:STAGING_PROGRAM_ADMIN_NOTIFICATION_MAILING_LIST,STAGING_TI_NOTIFICATION_MAILING_LIST,STAGING_APPLICANT_NOTIFICATION_MAILING_LIST.

Emails in staging

For simplicity, we recommend having a single email address for staging and use it in all the variables listed above.

Emails in prod

If your organization already contains a tech support email address, use it. Otherwise, you can create something like CiviForm@yourorganization.gov. For simplicity, you can use the same email as sender. That way, admins and applicants can reply to the email if they are having difficulties or questions about the notification they received. Remember that that someone needs to regularly check the inbox for the email addresses used in CiviForm.

AWS SES

CiviForm uses the AWS Simple Email Service (SES) to send emails. To send emails from a certain address, a verified identity must be created for the address. There are two kinds of verified identities: email-verified and domain-verified.

In a new deployment, SES starts in sandbox mode. While SES is in sandbox mode, it can only send emails to verified identities. SES must be taken out of sandbox mode for prod deployment, otherwise it will not be able to send emails to applicants, program admins, and TIs. Follow to take SES out of sandbox mode.

We create email-verified identities for each unique email specified by the server environment variables SENDER_EMAIL_ADDRESS,STAGING_PROGRAM_ADMIN_NOTIFICATION_MAILING_LIST,STAGING_TI_NOTIFICATION_MAILING_LIST, andSTAGING_APPLICANT_NOTIFICATION_MAILING_LIST. After the initial deployment, AWS will send 'Email Address Verification Request' emails to each created identity. You must click the verification link in the email for the identity to be verified. This allows you to test email sending in staging deployments without taking SES out of sandbox mode.

Using a no-reply email address for SENDER_EMAIL_ADDRESS

If you wish to use a no-reply address with no ability to receive emails, there are two options:

  1. Configure the no-reply address so that it can receive emails before the first deployment, deploy CiviForm, click the verification link in the 'Email Address Verification Request' email sent to the no-reply address, then configure the no-reply address to not receive any emails.

  2. Create a domain-verified SES identity. For example, to use 'no-reply@mystate.gov', you must create a domain-verified identity for 'mystate.gov'.

Testing emails

After deploying CiviForm to staging or prod it's important to test that email integration works correctly. Here is the list of things to try:

  1. Open the CiviForm site as an applicant and send email to the technical support email address provided in the footer.

  2. Create a program with a status that has email content.

  3. Apply as an applicant.

  4. Program Admin and applicant (and TI if present) should receive the email.

  5. As a Program Admin, view the application and set the status.

  6. The applicant (and TI if present) should receive the email.

Follow the steps in the 'Creating a domain identity' section of . To verify the domain, you will need to add CNAME records in your domain registrar.

these steps
this guide