Email status in AWS SES - amazon-web-services

I want to track emails that are being send by SES. I want to check if the email I am sending to my client is delivered or not. I found that AWS C# sdk provides the statistics, but it doesn't provide statistics per email address.

From Monitor email sending using Amazon SES event publishing - Amazon Simple Email Service:
To enable you to track your email sending at a granular level, you can set up Amazon SES to publish email sending events to Amazon CloudWatch, Amazon Kinesis Data Firehose, or Amazon Simple Notification Service based on characteristics that you define.
You can track several types of email sending events, including sends, deliveries, opens, clicks, bounces, complaints, rejections, rendering failures, and delivery delays. This information can be useful for operational and analytical purposes. For example, you can publish your email sending data to CloudWatch and create dashboards that track the performance of your email campaigns, or you can use Amazon SNS to send you notifications when certain events occur.

Related

Filter SES delivery SNS by original environment

We have different environments that all use same SES to send emails. We are looking for a way to filter the delivery notifications that SES sends back to the topic we have created so that they end up in the correct SQS of each environment.
We tried adding a header to the message but unfortunately SNS topic filter only works with message attributes that we have no control over when SES publishes the delivery notification. How can we achieve this? How can we filter delivery notifications by original environment that has sent the email?

For Amazon SES: Using an API to receive the list of bounced emails?

Hello is there an Amazon SES API (or some kind of webhook) which allows us to see the list of bounced emails?
I know SNS exists but that costs extra.
From Amazon SES notifications sent by email - Amazon Simple Email Service:
Amazon SES can send you email when you receive bounces and complaints by using a process called email feedback forwarding.
In order to send email using Amazon SES, you must configure it to send bounce and complaint notifications by using one of the following methods:
By enabling email feedback forwarding
By sending notifications to an Amazon SNS topic
By publishing event notifications
So, if you don't want to use an Amazon SNS topic (which is very low cost!), you could have them sent via email.

How to track a specific email using Amazon's Simple Email Service?

I am successfully sending emails using the AWS SDK for Java and I can also retrieve the Message ID for each email. Now I need to track the email to see if it was successfully delivered or it bounced.
Is there a way to use that Message ID to track the status of a specific email?
I have explored the getSendStatistics API but this only gives statistics for all emails, ideally I need something to track individual emails.
Is there a way to track individual emails using an SES API or even a Simple Notification Service API?
You can use Amazon SES Notifications through Amazon SNS for that. You create SNS topic subscriptions depending how you want to track the deliveries and bounces.
The SNS notification content itself contains a mail object that has the message ID, a delivery object for successful deliveries, a bounce object for bounced recipients and a complaint object for complained recipients (if any).

AWS - Send Scheduled Events notifications with text message or HipChat message

I know that the AWS sends emails about any EC2 instances with Scheduled Events, but I would also like to have these notifications sent through HipChat and text message as well. Is there a default way of selecting a setting that can do this in AWS? Or would I have to create a more custom solution to achieve this?
With Scheduled Events in EC2 being manual tool for monitoring health of instances as of right now, there isn't many options. From the design point of view on AWS platform, this could be one possible solution:
Create AWS SES mailbox and enable it to receive emails,
Create a forwarding rule in your original e-mail inbox where you receive those e-mail notifications from AWS about Scheduled Events to forward e-mails of this type (based on filter you define) to the previously created AWS SES mailbox,
In your AWS SES mailbox create "Receipt Rule" with SNS Action, that will basically publish entire content of the e-mail to the SNS Topic using AWS SNS. (The SNS topic you choose must be in the same AWS region as the Amazon SES endpoint you use to receive email)
Once that e-mail content lands in AWS SNS Topic as an event, you can use AWS Lambda subscribed to your SNS topic as a handler of the event, parse what you need and forward customized notification to any of your third-party (outside of AWS) alerting tools (such as PagerDuty, Slack channel, HipChat, or whatever you use for SMS notifications).
This design does have one week point: relying onto your external mailbox forwarding system (if you are receiving Scheduled Events e-mails in inbox not based on AWS SES).
Ideally you could try to see in your AWS Account settings if it is possible to use AWS SES mailbox for Scheduled Events notifications, but I haven't tried that.
You can receive text messages as notification by setting alarm for that ec2 instance e.g if CPU usages goes above 80% then create an alarm and eventually you can set it to get emails or text messages. Thanks

How to check emails logs through AWS?

I have a Joomla website & it is configured to use AWS-SES for outgoing emails. Is there any way or logging by which I can check all outgoing emails from AWS/Joomla with minimum details like timestamp, sent to email id, subject.
Please let me know. Thanks
So while SES doesn't have any fully featured monitoring Suite, you can set SES up to deliver Delivery, Bounce and Complaint Notifications.
With these notifications, you can develop your own application or read the raw notifications that will show you what emails got delivered/bounced/complaints.
Full information on these notifications is available on the AWS Documentation:
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html
You can publish your email sending events to an Amazon Kinesis Data Firehose delivery stream. This will take metadata from your sent emails and write it to an S3 bucket, which should produce your desired log.
Amazon has a tutorial on implementing this process at the link below.
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-kinesis-analytics.html