Written by Miguel Michelson
Chaskiq works with Amazon SES for email delivery, you could use any SMTP service, but with Amazon, SES gives Chaskiq's messaging superpowers.
To start using Amazon SES you need to enter to your Amazon console & configure your domain. Amazon SES requires that you verify your email address or domain to confirm that you own it and to prevent others from using it.
Once the domain is verified, you can edit the configuration of the domain and attach a SNS topic, So; you’d go to the notification settings for identity and select Include original headers next to the bounce notification configuration:
You have to create your own SNS topic and add topic subscriptions. Just make sure you uncheck send raw messages , the URL schema to subscribe on your app is https://YOURDOMAIN/api/v1/hooks , it should be automatically verified. if you are using a local dev server, make sure the URL is public, you can use services like Ngrok to tunnel your dev machine and expose the URL.
Go to SES -> configuration sets and create one and then create an SNS destination where you could add the events you want to notify. (Bounce, Click, Complaint, Delivery, Open, Reject, Send)
Finally in your app environment variables you may want to set the SNS_CONFIGURATION_SET variable with the name of your already created set, if you set this, you will need to restart the app in order for changes to have an effect.
in order to receive emails from AWS to Chaskiq you will need to add a valid rule set:
When adding the rule set you will need to create 2 rules one for inbound@YOUR_EMAIL_DOMAIN and messages@YOUR_EMAIL_DOMAIN
Then, in the actions tab add a deliver to S3 Bucket:
and point the event to the right bucket and the right SNS topic.
First, you will need to create a bucket with the following bucket policy, if the bucket is created from the ruleset page itself it will create the proper bucket policy:
That's all, have a happy Mailin.