Skip to content

Amazon SES

Info

Follow guidance on enabling notifications first.

What It Is?

Amazon SES is a cost-effective email service that offers email sending, at a cost of $0.10 per 1,000 emails. No monthly fees or upfront commitments are required.

Supported Ways To Receive Notifications

  • Email

What To Know Before You Start

A solid understanding of DNS and Amazon AWS is required, including knowledge on how to secure your AWS account.

Configuring Amazon SES

Info

Full configuration options and capabilities are available via Apprise

  1. Create an IAM user that has access to SES. The user should have a programmatic access key and secret key.
  2. Attach the following policy to the user:
       {
         "Version":"2012-10-17",
         "Statement":[
           {
             "Effect":"Allow",
             "Action":[
               "ses:SendEmail",
               "ses:SendRawEmail"
             ],
             "Resource":"*"
           }
         ]
       }
    
  3. Set up Amazon SES for your domain, which includes domain verification and DKIM record setup. DKIM verification is automated with Route 53. For other DNS providers, manually add the necessary DNS CNAME records for DKIM verification.
  4. Verify your domain to start sending emails. This can take from minutes and up to 72 hours.
  5. Copy the example notification.yml.example file to the notification.yml file:

    cp ~/voi/docker/notification.yml.example ~/voi/docker/notification.yml
    
  6. Update the NOTIFICATION_URLS value in notification.yml file with your ses:// link

    NOTIFICATION_URLS="ses://<sender_account>@<sender_domain>/<access_key>/access_secret>/<region>/<recipient_email>/?from=<sender_name>"
    

    If the sender name contains whitespaces make sure you substitute them with %20 in the from parameter.

Tip

If you want to use multiple notification mechanisms, separate them with a comma. For example, to use both Discord and Email for notification, you would set the NOTIFICATION_URLS value in the notification.yml file to:

NOTIFICATION_URLS="discord://<webhook_id>/<webhook_token>,ses://<sender_account>@<sender_domain>/<access_key>/access_secret>/<region>/<recipient_email>/?from=<sender_name>"

Testing Your Notification Configuration

With your configuration in place, it's now time to test it.

First, we need to make sure that Voi Swarm picks up your changes to notification.yml. To do this, rerun the installation script:

/bin/bash -c "$(curl -fsSL https://get.voi.network/swarm)"

After the script has run and applied changes to the environment, we need to send a test notification to make sure everything is working as expected.

To do this, run the following command:

~/voi/bin/notification-test