How to route Gsuite email's through Amazon SES? - amazon-web-services

So I have my amazon SES account, my Gsuite account, and my domain DNS settings.
I used Route 53 to generate my DNS stuff and used "use other name servers" and then entered my Amazon Route 53 name servers instead. I also added Gsuite MX records within my Route 53 and INBOUND WORKS...
However, I cannot for the life of me get outbound to work using my SES account. I tried generating an SMTP key on SES but cant find where to put it in Gsuite settings. I called Google and they said you need to put Googles SMTP settings into amazon but cant find that either... I just want to use Gsuite UI while having the emails sent out via my SES account.
On a smaller note, I'm having SPF verification issues too. I added "v=spf1 include:amazonses.com -all" on my Route 53 settings but it's saying "You are not allowed to use one of your sender email addresses" and throwing my emails into spam.
I'm not the most technical guy so a lot of it is learning as I go so any help would be appreciated.
Thank you all again!

Looks like you are not clear on where things should be.
Your MX records are only receiving incoming emails, you can use any number of outbound servers as long as you verify those ones.
Send email via GSuite sould work fine, since GSuites verifies all your identify with the DNS entries.
SES Process:
Verify your domain -- Follow the instructions given by SES to verify your domain.
Verify your from Email Addresses
This is essential, you are sending email, if someone replies you should be able receive the email back. In your GSuite, create an alias or new user to receive the email address you want to in From when you send your emails.
Verify your email address from SES and you will receive an email to your inbox and confirm your email address. You can also enable DKIM setting along with this process.
Apply to AWS Support that you are going to send production emails.
Now send emails using SES API,
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendEmail-property
Using SMTP from gmail:
If you want to use SMTP from gmail, you can completely skip SES at all,
Use the following packages, enter your gmail credentials and send email.
https://www.npmjs.com/package/nodemailer
https://www.npmjs.com/package/gmail-send
You can also search for other packages online to get the best that simplify your needs.
You also need to need to note, if you use gmail as your outbound email, there may be limits on how many emails you can send outbound.
Also with SES you cannot send spam or non-transactional emails without the consent of the user. Make sure you follow all those standards.
Hope it helps.

Related

AWS Certificate Manager - validate domain by email - where do the emails go?

I've used the "validate by email" option for getting an ACM certificate for my website (We can call it example.com).
In the details section of the validation status, I see that an email was sent to:
webmaster#example.com
postmaster#example.com
hostmaster#example.com
admin#example.com
administrator#example.com
The problem is that I have no idea where this emails are going, or how to check them. I never remember setting up any sort of email associated with my domain but I do have my domain on a hosted zone using Route53.
Amazon's documentation fails to provide any help on this. I am wanting to actually access the emails that were sent from ACM (are they in S3? Route53? Do I need command-line?).

Can Amazon SES process email without any real email address behind it?

I have a domain registered to me and its set up in Route53 on aws.
Is there a way that SES can process emails sent to a non real address (pinkopalino#mydomain.com)?
e.x
add processing rule to SES to save email on S3 just based on the fact the domain is mine an configured on AWS or do I need a real email server (gmail etc) to have a real email behind it for it to work?
OK its possible.
Its enough to verify the domain and SES DKIM and MX in aws route53 for the domain and the SES rule will process the emails.

Transferring Domain to Route53 - Email Access

I am helping out a friends business who have had a falling out with their web developer, and I want to transfer their domain to Route53.
I have the domain password so I am going to shift everything across to Amazon.
However the email accounts "info#domain.com" and "admin#domain.com" were set up by the other developer, who have unfortunately cut all communication between my friend and them.
My question is what will happen to those email addresses after I transfer the domain, I presume they will shut down? Is there anyway to determine where an email account is hosted and thus determine it's MX records for Route53?
If they lose the account is it possible to register new emails with the same address after the transfer?
If you control the DNS servers, you can switch the MX record to a new host, which will give you complete control of your email.
You can do this in Amazon with Workmail, or set up something like gmail.
Any new emails will come into the new server. You will not have access to any of the old emails however.

AWS Certificate Manager and Route 53 approve SSL certificates

I run a SaaS with multiple subdomains and with the option for customers to use their own domains too.
This means, that we host eg:
customer1.ourdomain.com
customer2.ourdomain.com
www.customer3.com
www.customer4.com
When creating a certificate through ACM, I have to confirm the new certificate for all domains, that's fair, as I can live with that.
But our customers can't live with confirming their domain everytime we add a new certificate (since we still can't update/add domains to an existing cert.).
My question is, can I, somehow intercept the mails that are being send out, when the domains has to be confirmed?
Of cause I can't always get their mails, but just for eg. hostmaster#customer3.com
The domains can be moved to Route 53 if needed, the customers usually have had them in a long time, hosted somewhere else. We usually just make a CNAME to our ELB.
How do other people deal with this?
Best regards, thanks in advance
Currently, you have two options here:
Firstly, AWS allows you to configure the base domain name to which you want the validation email to be sent. For instance, you are requesting SSL for subdomains like *.customer1.ourdomain.com or *.customer2.ourdomain.com you can specify ourdomain.com as the validation domain.
Can I configure the email addresses to which the certificate approval
request is sent? No, but you can configure the base domain name to
which you want the validation email to be sent. The base domain name
must be a superdomain of the domain name in the certificate request.
For example, if you want to request a certificate for
server.domain.example.com but want to direct the approval email to
admin#domain.example.com, you can do so using the AWS CLI or API. See
ACM CLI Reference and ACM API Reference for further details.
To enhance this process even further you can try acmagent pip library to automate you SSL confirmation
pip install acmagent
Requesting SSL
$ acmagent request-certificate --domain-name *.dev.example.com --validation-domain example.com
12345678-1234-1234-1234-123456789012
Approving SSL
$ acmagent confirm-certificate --certificate-id 12345678-1234-1234-1234-123456789012
More examples can be found here.
The second option is to create a MX record in the hosted zone pointing to the SES service and use Lambda function to parse the confirmation email body. I found an existing project that looks like is doing this already: aws-acm-certificate-request-approver
Hopefully, that helps.

Setting up transactional emails from WordPress using AWS SES

Ive been reading all days different blog all around the web looking for a solution to my problem. For the first time in my life a used AWS VPS (with ubuntu 2.04.1 LTS) to host my Wordpress blog. My problem is I dont know how to send transactional mails (user suscription confirmation, password reset) through it. I set a AWS SES account and already verified a domain and have been granted production access. I dont know what to do next. How can i verify a sender email address using my Dreamhost domain and how can i start sending welcome emails to new users from a custom domain email address?
I found some wordpress plugins such as WP SES but all i get is an empty blank page when i try to access their settings.
Your help is much appreciated, thanks.
Since you are using Wordpress, you can easily use a plugin to send through Amazon SES.
Our AWS re:Invent presentation shows you how to configure Amazon SES and Wordpress to send using the service. We used the Configure SMTP plugin to connect Wordpress with Amazon SES. This plugin sends all email generated by Wordpress through Amazon SES.
Also, you don't need to verify an email address if you have production access and the domain you are sending from is already verified. Amazon SES will accept email from any email address at the verified domain.