Why do AWS SES Sent Emails don't show up? - amazon-web-services

I am new to AWS and am using the AWS Simple Email Service. For the first time I sent a bulk email from my site to about 32 people on 14th Dec. I used all the SMTP credentials provided by AWS.
However as of now, my dashboard shows 14 emails sent from 14th dec (18.30) to 15th dec (18.30) UTC time.
I want to know 1) do the emails not go together or the system queues them on it's own 2) Should I assume the remaining emails are lost or wait for the dashboard to refresh. Is it possible that emails can take 2 to 3 days to reach the recipient's inbox?
I want to understand how thing works and how I can track that all emails are delivered to the recipient's inbox.

Refer to the AWS Docs here:
https://docs.aws.amazon.com/ses/latest/dg/request-production-access.html
It states:
To help prevent fraud and abuse, and to help protect your reputation as a sender, we apply certain restrictions to new Amazon SES accounts.
You have to be out of the SES sandbox to send emails to non-validated email recipients. Have you done this?

Related

Use Amazon SES to build a marketing email system

Currently I'm working on building an email marketing system using Amazon SES. I have some problems which I have googled about for a while now but I couldn't find any clue so I decided to ask you guys here.
The first thing is I use only one Amazon account to send email, but it is limited up to 10,000 verified sending addresses or domains per region, so if I want to verify more than that I need to use different regions or Amazon accounts?
Next, is there any way can I add some custom arguments when I request to verify an email address? Because I need to check which account in my system owns that address so that no other account can use that verified address to send emails.
Any answer would be appreciated. And by the way, I'm sorry for my bad English.
Email address verification is only required while Amazon SES is in sandbox mode. This is done to prevent people creating an AWS account and using it to send spam.
From Moving out of the Amazon SES sandbox - Amazon Simple Email Service:
When your account is in the sandbox, we apply the following restrictions to your account:
You can only send mail to verified email addresses and domains, or to the Amazon SES mailbox simulator.
You can only send mail from verified email addresses and domains (also applies to Production mode)
You can send a maximum of 200 messages per 24-hour period.
You can send a maximum of 1 message per second.
You would typically only "send" from one email address, or perhaps a few to make it easier to handle replies. There should be no need for 100s or 1000s of verified 'sending' email addresses.
Once you request to move into Production mode and it is accepted, you can send to any recipients (whereas in Sandbox mode, each recipient need to be verified).

How to get status of emails sent via Amazon SES

I want to ask some question related to AWS SES. Please help me with my queries.
As described in the above image that we need to pay $0 for the first 62000 emails if sending email
from ec2 hosted application. How does AWS SES know that i will send email from my ec2 instance hosted
application or from somewhere else or we need to code?
How can i get the list of emails that successfully send, which emails get bounces, complaints,
rejected? Mean i want a log of my sending emails. I do not want to login in AWS and watch dashboard multiple time.
It can detect sends from Amazon EC2 based on IP address range.
For detailed logs of email sends, see: Monitoring Your Amazon SES Sending Activity - Amazon Simple Email Service
There are options for Event messages and Notifications.
You can track the mail events with event publishing. Here is a post explaining how to: https://mailintel.io/resources/tracking-deliveries-opens-and-clicks-for-amazon-ses. If you don't want to build anything yourself, you can use mailintel.io. Gives you a detailed reporting dashboard.

How to read a body of received aws-ses email

I want to set up AWS SES service for receiving and processing technical emails from different subscriptions.
I read documentation Setting Up Amazon SES Email Receiving and followed all steps.
For receiving a body I tried both ways:
Storing an email to S3 storage.
Sending an email via SNS service.
But in both cases, I get the message that my service's configuration isn't completed.
The message looks like:
Please note that the rule that you configured to deliver emails to this S3 bucket is only valid if the entire setup process is successful. For more information about
setting up email-receiving rules, see the Amazon SES Developer Guide at http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html .
If I got correct I have to transfer my domain to Route 53 service.
But it isn't the best option for me. Because I have the special price for registering/prolongation from my provider. Moreover, I registered my domain a few days ago and need to wait one month before I will be able to transfer it (according to my provider rules).
In the current moment, I can get subject, sender, receiver, date and so on information from a mail, except the body.
Do I really have to wait one month and transfer my domain to Route 53? Or I missed something?
EDIT: I read comments to this post and repeat all steps from the first document. I don't know what I did wrong yesterday but I am receiving mail as expected now.
It sounds like the verification process might not have fully completed at the time. Once the MX, TXT and CNAME records have been added to your DNS settings and had enough time to propagate, everything should work as expected. If it takes too long, ensure there are no typos in the record names/values.
For others with this problem, ensure the domain shows as fully verified in the SES Home > Domains section. I just went through this, so hope it helps.

Does the SES email quota apply to verification mail by Amazon Cognito?

I'm setting up Amazon Cognito user pools as means to authenticate my users.
Cognito sends verification emails (password reset, confirm email address etc.).
Cognito uses Amazon SES for sending emails and Amazon SES is limited to 200 daily email quota per day.
I'm afraid that once I've imported all my users to Amazon Cognito, resulting with each of them receiving a couple of emails upon their next login, I'll be well over the quota and they will not be able to receive those emails.
Does anyone know whether this quota applies to automatic emails by Amazon Cognito?
Cognito has gotten a much higher sending limit than 200, you shouldn't run into issues. If you do, feel free to reach out to us via the forums/support and we can get you around that.
If you use Amazon SES for sending emails the certainly Amazon SES quota applies.
But 200 per day sounds suspiciously like SES Sandbox. In which case you're not only limited to 200 a day, but you also have to "validate" each e-mail address first before you can even start sending e-mails to that address.
So, if you want to send large number of e-mails to a wide audience as you described in the question you certainly need to move it out of sandbox.
Just test your configuration in Sandbox (so you know it's all working correctly) and then apply for quota increase. (I know, it sounds scary, but procedure is actually quite simple and straight forward.)

How can I see a report of my AWS Bounced emails?

I have an application that automatically sends thousands of emails per hour using Amazon Web Service's Simple Email System (SES).
How/where can I view a report of email bounces?
EDIT:
Below #Neil shows how I can setup SNS to email me about bounced emails. But is there any way I can see a report of Bounced emails in the past? Going forward is there a way I can see a bounce report/table instead of getting an email notification every time an email bounces?
It has been long time wanted but there's no built-in feature for now.
I suggest you push on this thread so Amazon gives more info about the roadmap to integrate this feature
You can configure AWS to email you via SNS. See here
You can configure SES to send bounces (and complaints, and even deliveries) to an SNS endpoint.
From SNS, you can configure different subscribers: email, http(s), or a couple other options. The interesting option is Lambda. Create a Lambda end point, and then write a simple function that inserts the information you want to track into DynamoDB.
This might cost you a few cents/month, but you have control over what you're recording and how to access it.