Amazon SES with two applications - amazon-web-services

I have one Amazon account with my current production application running an elastic beanstalk environment which uses SES to send emails from that verified domain, let's call it www.original_domain.com.
I'm currently upgrading my application, which includes a changing the domain name. I have set up a second application in my AWS account with a separate elastic beanstalk environment, let's call this one www.new_domain.com. I have done this so I can test it along side in production.
Is there anyway to verify both domains to use SES where I can have both www.original_domain.com AND www.new_domain.com sending emails from their respected domains, or is SES - application a 1-1 relationship? This would make the change over a lot easier rather than having to take down www.original_domain.com and re-apply to get www.new_domain.com verified.

There is a limit, upto 1000 domains:
You can verify as many as 1000 identities (domains and email
addresses, in any combination) per AWS account.
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html

Related

Turn ON sandbox mode on AWS Cognito

I use Cognito service for my users. I also use my SES with Cognito to send emails to them.
I have two accounts on AWS - one for development and the second one for production. The development account uses my production domain when sending emails, and after many testing emails sending, the reputation of my domain decreased. Now I want to turn sandbox on on my development account for cognito and SES, but I cannot find where to do that, as the documention of AWS only shows how to go to production.

Use Amazon SES and Google GSuite for the same domain

I have a domain that I manage using Amazon Route 53. It contains TXT/MX records of Amazon Simple Email Service, that I use to process incoming email to a certain email address via AWS Lambda. I also need to register the domain to Google Admin, i.e. GSuite so that I may manage my business emails via Google console. How do I achieve this? I tried setting up Google Admin, entered the MX records of Google Mail, but it resulted in failure of AWS SES services.
It isn't possible to split email for a single domain across multiple services like this. When a sender on the Internet resolves your domain's mail exchanger (MX), the answer must contain a set of one or more hostnames for systems that will all behave identically for any given recipient email address.¹
The easy solution is to create a subdomain for your SES mail, for example contact.example.com, and simply use that domain for your SES messages.
If you really need to have all the addresses have exactly the same domain, set up a subdomain for SES as described above, but then configure GSuite to forward messages for the specific addresses that you want to go to SES, such as info#example.com, over to info#contact.example.com.
GSuite will then accept messages for those addresses, rewrite the recipient address, and hand them over to SES.
As a G Suite administrator, you can configure numerous email routing and delivery options to suit your organization. For example, you can route mail to Gmail and an external server. Or, you might need to route incoming mail for non-Gmail users. You can also set up routing policies that vary by organization
https://support.google.com/a/answer/6297084
¹behave identically from the sender's perspective. How they may handle the message internally is implementation specific, but for any given email address, all of the listed mail exchangers must accept or reject it, because an authoritative response of "No Such User" from any one of these systems will not trigger the sending system to try any of the others.

Hosting webapp on an AWS EC2 server. Do I need to use the AWS "application services" for search and email?

I want to host my app on an VPS/VPC and am currently leaning towards the AWS EC2 server. I'm looking at the console right now and I see a bunch of services offered like CloudSearch(managed search service) and SES(email sending service).
Considering the fact that I have already written code to do these things (at least for the search) that works locally, do I/should I still utilize these services? If so, why and how?
You do not need to use these services. But there are limits on sending emails from EC2 instances. (http://aws.amazon.com/ec2/faqs/#general , search for Are there any limitations in sending email from EC2 instances?).
If you intent to send huge amount of emails then you want to use SES.
For creating webhosting in EC2 instance you can use Easyengine, refer the below link for it:
http://docs.rtcamp.com/easyengine/install/aws.html
If you intend to send emails from your website you can either use Amazon SES or also any other mailing service.
For sending e-mail using Amazon SES follow the below steps:
Step 1) Verify the email address from which you need to send emails.
Step 2) Use the credentials which you get from step1 in your web application to send email to your user.

Do I need to use SES with Elastic Beanstalk to send mail for a contact form?

I just want to create a simple "contact us" form on a Rails Elastic Beanstalk instance. So at this time I will only be sending to one e-mail (one that control). Is there a better way then setting up a production email service? At least to me, it seems like SES is overkill?
(I don't need help on creating the contact form, just the hosting setup as it pertains to AWS and EB.)
Production SES is definitely an overkill for your case (assuming there will be less than 200 contacts per day), but sandbox environment is just right. All you need to do is to verify your email - Verifying Email Addresses in Amazon SES. It is really easy to integrate with and the next time you will need email on production level, you will be already familiar with SES.

Why isn't there an imap aws service?

I'm just looking into Amazons Web Services and I've used Elastic Beanstalk to set up a Ruby web app. It all works great but with one big exception. I cannot have user email accounts for the domain and cannot have incoming emails.
Is there a technical reason why this is the case (no incoming mail service), or am I missing something? I'm reading a lot about using Gmail or installing postfix manually, are these the only options, and if so why?
Amazon offers this service now, it's called WorkMail: https://aws.amazon.com/workmail/
You can have user emails on the domain in one of two ways. If you want to keep it at aws, spinup an ec2 instance and run the mail server of your choice, or else just use a third party mail host/provider (like gmail, or rackspace email which I use) and just point your mx records to those external mail servers.
I also wish that AWS offered mail hosting (and domain registrations), but its not hard to just parcel out the small pieces of your solution.
You can use ses nowadays for inbound programmatic email, and read it from a sqs queue, this is advisable for higher then normal mailbox usage profiles.
Else soon you can use WorkMail's new imap service which was announced beta preview at 2016 re:invent.