Hi, every startup needs a business email so to get my email for itedvantage business email id I had to figure our a free or low cost that could support my other work for SEO, Marketing, Promotions and sending mails to collaborate with other bloggers.
So I have hosted my website on AWS Free Tier and want to create an email address like contact@itedvantage.com it doesn’t cost anything.
What you need:
1) An AWS Account
2) A domain name (itedvantage.com in my case)
3) Gmail account (Other email services should also work – I prefer Gmail so I used itedvantage@gmail.com)
What you don’t need: A GSuite Account
(If your domain is on Google Domains, setting up email forwarding is easy.)
I’ve covered all the necessary steps in brief, but if you need help or get stuck somewhere, let me know in the comments.
If you want two way communication, not all regions support it. I set this up in us-west-2 (Oregon)
even though my website is hosted in ap-southeast-1 (Singapore)
.
Setup SES – Simple Email Service
On AWS Console, switch to us-west-2, go to SES, and verify your domain:

If your DNS is managed by Route53, Amazon can automatically update the entries, click on “Use Route53” button on the next page. Otherwise, you have to manually set the entries in your current DNS registrar.

Verify Your Current Email
This step is easy, your current Gmail address that you want Amazon to relay all communications to, verify it with SES.

You’ll get a confirmation email, as part of the verification process.
Configure SES Email Forwarder
In the coming steps, we will configure SES to trigger a lambda which will forward emails to our personal email.
Create a blank Node.js 12.x runtime Lambda function with no triggers in the same region, and use this file as the function code.
There is a config object in the code which requires some tweaking:
var defaultConfig = {
fromEmail: "contact@itedvantage.com",
subjectPrefix: "",
emailBucket: "<s3-bucket-name>",
emailKeyPrefix: "mails/",
allowPlusSign: true,
forwardMapping: {
"contact@simplq.me": [
"<your-gmail-id>@gmail.com"
]
}
};
fromEmail
should be the business email which your customers would see. We will later create an S3 bucket to store our emails. Choose a bucket name and give it as emailBucket
. In the forwardMapping
section, you should configure the gmail address which you verified in the previous step.
arithmetric/aws-lambda-ses-forwarder is a awesome repo, it supports many more configurations, you should check it out if you want to create and forward multiple emails, or forward emails to multiple people.
Attach this policy to the service role of the Lambda, to give it access to the S3 bucket, and also SES:
{
"Version": "2020-06-10",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::<s3-bucket-name>/*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "ses:SendRawEmail",
"Resource": "*"
}
]
}
Create a Rule in SES
This ties everything together, go back to SES console and create a new Email Receiving -> Rule Set. You will set a rule, where you configure two “Actions”, one to save all emails to a S3 bucket which you can create from this screen, and another to trigger the Lambda created in the previous setup to forward the mails. Use the below screenshot as reference:

At this point, if you send an email to your business email, the personal Email ID should receive it. Test and make sure that it works, use Cloudwatch Logs for the lambda to debug in case of issues.
Configure Gmail
Next is to add this new email as a new identity to your Gmail account. Go to SES’s SMTP Settings and create a new SMTP Credential.

At the end, you’ll get a username and a password, which you should add to your Gmail Settings:

Last Step – Verification
Initially your newly configured Amazon SES service will be quarantined (sandboxed) by Amazon as a measure of protection against possible abuse and spam. To remove it from quarantine and allow normal mailing, as the last step, you need to open a support ticket to Amazon and fullfill a request. Otherwise you will see how the emails you send bounce with the following error message:
554 Message rejected: Email address is not verified. The following identities failed the check in region ...
They approved within minutes in my case. Go to Sending Statistics section to raise a request:

That’s it! Your business email is ready to use. Let me know in the comments section if you face any issues. Hope you enjoyed it.