My knowledge of AWS is very basic and I am studying to enable a user to send and receive email using SES.
The user is created in IAM and with SES permission enabled.
The domain is already registered and working on AWS.
Do I need to create a email inside SMTP configuration or is there a option to create email on IAM user profile?
I recommend you to read the Doc first Because they clearly explained how it works. There are 2 main methods to send an email using SES.
1. SES Rest APIs
It's a REST API service for SES. You can send emails by calling API as an HTTP Request. Visit the below link for more info.
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-api.html
2. SMTP
It's a traditional way. But if you want to access the SMTP server, You need to create SMTP credentials first. These credentials are unique to regions. If you are sending emails from multiple regions, You need to create a set of credentials for each.
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html
Receiving Emails
SES allows you to receive emails too. But this feature only available in certain regions. You can access received emails via the following ways without SMTP,
Deliver incoming emails to the S3 bucket
Publish to SNS topic
Send to Amazon WorkMail
For more info: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html
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.
I have setup Amazon Simple Email Service account on one my my domains. Lets say it example.com
I am not able to send emails to that same domain I have verified.
meaning sending email from noreply#example.com to myemail#example.com is not happening.
I even tried in AWS console's send test email but couldn't send the email.
I couldn't find in AWS SES documentation saying we can't send emails to same domain.
Can we send emails to same domain in AWS SES? If not is it documented in AWS SES?
If yes how can I send them?
I don't see in AWS SES documentation that it doesn't support sending to the same domain name.
I finally got to know that the domain I'm using is configured with Office 365 email provider, the admin have configured Spam filters such a way that it doesn't even enter user's inbox if they recognized it to be sending automated emails from same domain.
Conclusion: its not an issue from Amazon AWS SES but in-house spam filtering.
I have an AWS SES application, which sends an email when an event happens. The mail deliver is successful when I send it to gmail. But, if I want to use my company domain address which is also verified by SES, I do not see any emails in my account. The confusion part is, the sender email (FROM) is my company domain address.
Simple way is to create a SNS subscription and a topic from Amazon console, if you are trying to send e-mails from you application you might have to see if your corporate SMTP server is able to recieve e-mails.
Another simple route is to use "sendgrid" service, this is a paid subscription and it is very easy to use.
I'm relatively new to AWS, but I am trying to figure out how to get AWS to receive emails. According this post How to configure email accounts like support#xyz.com or feedback#xyz.com on AWS SES only handles outbound email.
What I am hoping to achieve is the ability to filter aliases. For example, if the alias is "xyz12alias", then any email sent to "xyz12alias#mydomain.co", can see the email and process the content appropriately. Which in my case will be storing it in account associated with the filter.
Can anybody direct me to a strategy or service within AWS that would allow me to implement inbound email on Amazon AWS?
https://postmarkapp.com/inbound appears to give me what I want, but is there anything within the AWS framework itself? Are there alternate services to postmarkapp?
Thanks.
Amazon Simple Email Service just introduced incoming e-mail support:
https://aws.amazon.com/about-aws/whats-new/2015/09/amazon-ses-now-supports-inbound-email/
In addition to offering a scalable, cost-effective email-sending
platform, Amazon SES can now accept your incoming emails. You can
configure Amazon SES to deliver your messages to an Amazon S3 bucket,
call your custom code via an AWS Lambda function, or publish
notifications to Amazon SNS. You can also configure Amazon SES to drop
or bounce messages you do not want to receive. If you choose to store
your messages in Amazon S3, Amazon SES can encrypt your mail using AWS
Key Management Service (KMS) before writing it to the bucket.
You configure all of these actions by defining receipt rules, which
you set up by using the Amazon SES console or the Amazon SES API.
Receipt rules enable a single message to trigger multiple actions.
Your rules can be as broad or as specific as you choose because you
can configure them to apply to specific email addresses or entire
domains.
You can also use receipt rules to control which messages Amazon SES
can accept on your behalf. Another filtering method is to set up
custom IP address block lists and allow lists. If you know that you
don’t want to receive mail originating from a particular IP address
range, simply add it to your account's IP address block list. You can
also override block lists by adding IP address ranges to your allow
list, which provides fine-grained control over your inbound email
traffic.
You'd have to set up your own server; that's the way to handle it using AWS. They don't provide anything other than their bulk email delivery service. A few links below:
http://jeffreifman.com/how-to-install-your-own-private-e-mail-server-in-the-amazon-cloud-aws/
http://cerebellumstrategies.com/2012/04/15/amazon-linux-postfix-dovecot/
Update: there is now a solution available in AWS, as referenced in the comments below.
Still doesn't appear to be possible on SES. I'd recommend looking at Mandrill and Sendgrid though.
http://mandrill.com/features/
https://sendgrid.com/docs/API_Reference/Webhooks/parse.html
Here is how to use Amazon and any virtual server to deliver email from SES to a local IMAP account.
This plan is about stable operations: every step is under our control.
Have SES receive emails
And deliver to an S3 bucket and send notification to a SNS topic
Subscribe to that notification with HTTPS protocol
Use aws/aws-php-sns-message-validator and write a small PHP script to reveive notifications from SNS through HTTPS
SNS only sends messaged ID-s, put those in a file
Install incron on your server to start a shell script that downloads those messages from the S3 bucket by s3cmd and delivers to the local IMAP account by sendmail
Use any IMAP server, I use Courier IMAP
Read your messages with e.g. Rainloop webmail
Use SES also for sending outgoing emails
When using AWS SES inbound mail support, main challenge is that, it fits well for programmatic tasks, but hardly human readable since it receives in raw message delivered format.
You you can setup a S3 bucket, SNS Topic (Which could again links to Email, SMS & etc.), Lambda to forward the inbound mail with the same format it receives to take any programmatic actions based on the content of the email.
If you want read the message in human readable format, you need to write your own code to do the formatting. For example using Serverless lambda SES forwarder includes, NodeJS code runs in Lambda to convert raw email to human readable format and forward to recipient email.