Sending email using Amazon Web Services - email

I'm thinking of setting up a simple web application that sends the user a confirmation email when they first register. If I build this on the Amazon Web Service infrastructure, how can I send email from another instance? I would probably have one instance that is just for the application and another instance for the email server.
My question is how does the first instance (the app server) know the IP address of the second instance (the email server)? It is my understanding that the instances can run on any number of servers and can be brought up and down. How does that allow one instance to connect to another instance?

After asking your question, Amazon has since launched Amazon Simple Email Service for this and you would not need a separate instance for an email server. It is available as a web service that you can call to send email. They also have SDK's to wrap the web services in .NET, Java, and PHP.

I'm not sure why you'd want to only send the e-mail from a single instance, since there's nothing special about sending e-mail. That being said, I'd look at a simpler coupling model like Amazon's Simple Queue Service.

Don't attempt to send email directly from an EC2 instance; it will not work reliably as the EC2 IP ranges have been blacklisted by various providers. You'll need to use a thirty-party service such as Google Apps.

Related

Email protocol, mail server change and using another protocol from exist hosting

I have a domain which name is asifulmamun.info
Then, I've purchased a hosting for host website and connect this domain to hosting with cpanel by nameserver change.
I've create an email with this domain from Cpanel i.e. xx#asifulmamun.info.
Hosting provider told me that, my email has a limit for sending or receiving up to (25-30) email per hour.
But, if i will need to send/receive more than email from limitation how can I do this?
I think it's using my hosting server protocol for using mail email service.
Is it possible using another service provider protocol for using more than email from hosting server protocol?
Is it possible to use gmail server without purchase google cloude?
Is it possible, my domain will host in my exist hosting (Cpanel) and mail protocol using another service provider i.e. google, godaddy, aws or any service provider? If possible how?
Yes, you can use different service providers for incoming emails and for outgoing emails. In particular, you can use several email service providers for outgoing emails.
The "how" depends on what you want to do. I recently wrote a lengthy article on email. You find answers to all protocol-related questions there. The sections about email's architecture and its entities might be especially interesting to you.

How do I create an email address with multiple recipients in heroku?

I want to setup an email alias eg. dev#mycompany.com and have multiple recipients to that. My company's site is hosted in a heroku instance and I want to leverage the same instance for the email forwarding. Can someone please explain how this works and how I can set this up?
Heroku will only provide you with hosting for your web application. You need to use another service for your emails, like Google Apps.
If you already have email addresses for your domain name, you probably also already have a service providing this. You need to figure out which it is and configure it there.

Setting up Email Accounts EC2

I am just getting started with AWS and EC2 and can't quite get my head wrapped around what to do with email.
On previous servers, I would use it as a mail server and on cPanel create all the email accounts I needed, and could access them through web mail.
I can't get a consistent answer on how to set up email accounts on a domain that is pointing to an EC2 instance.
My question is, how can you set up email accounts for a domain pointed at EC2 instance, and if its not possible is there a way to set up emails on a third party like gmail with the domain pointed at EC2?
Just so you know the domain is managed at GoDaddy.
Thanks
I suspect if you are trying to treat it like shared hosting, EC2 may end up being more work than its worth. If you do want to give it a shot, read on.
EC2 provides mostly barebones virtual machines that you can purpose for anything you may need. They don't come with hosting control panels as many people use instances for things other than hosting websites.
You should be able to install cpanel or directadmin, but you may have some difficulties getting it to licence correctly as licences are often tied to a public IP (In EC2 everything is NAT'd).
To set up email on your instance, you need to install some kind of email server. There are quite a few different options available depending on what host operating system you choose to use. There are alot of tutorials that can walk you through setting up a mail server.
Now, for the annoying part. All EC2 IPs are on Spamhaus blacklists. To get around this, you can you can either configure your email server to forward through Amazon SES or fill out this form to whitelist your server IP: https://portal.aws.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request
Running your own email servers on ec2 is doable, but if it is my call, i'll go with something like Google Apps for Domains to handle my email accounts.

How to create an email account and set up email receiver when using AWS EC2 and SES?

So we are planning to use AWS SES for sending emails. But how do we set up the email receivers? And how do we create an email accounts? When activating AWS SES, it asks to verify an email account (eg. help#example.org)...
I tried to create a mail server on one of the instances using postfix following this article: http://flurdy.com/docs/postfix/, but it's not easy at all... Does anybody know any better alternatives?
Thanks.
SES is for sending email only. As you note, you must have some other way set up to receive email at least at the "From" address you intend to use, because Amazon will verify it before letting you send.
While you certainly could set up an email server and domain on an EC2 instance, it's very complicated. I recommend that you get an email service for just that purpose. If you only need a single address for all your messages, just get a free address from Google, Microsoft, Yahoo, etc.
If you need multiple addresses, consider getting Google Apps for Business, either for an existing or new domain name (it's easiest to set up if you have it register a new domain name for you). It's no longer free, but it's still quite cheap. A single user account can receive emails for every address in the domain, it's flexible, and it's reliable. It's a good companion to using SES for sending automated emails.
Use Amazon WorkMail if you prefer AWS. Gmail for work, Office 365, Hostgator, are some other examples. FYI, none of these providers simply provide domain emails. They come bundled with many other things such as chat clients, calenders, etc. Pricing of these services depends on what other things they are bundled with.
$4/user/month for AWS
$5/user/month for Google
$5/user/month for Microsoft
Since you are in AWS cloud, I will tell you a few things about Amazon WorkMail.
You get your own domain and 50GB of storage per user.
You get calendars for free.
You cannot use just any desktop mail client. You have to either use Outlook, or Mac's mail client, or the web interface. This is their weakest point. However, including other IMAP clients is in their roadmap (I guess atleast a year).
Integrates nicely with SES.
Important links:
FAQ page.
Features page.
There are many more features such as remotely removing emails from a device, managing your users, and so on.
What I can recommend you is to use Amazon WorkMail because they almost provide all the features supported by others, and you are tied with AWS anyway. AWS also recently launched Workspace and Workdocs (both separately billed) that will allow you to create a complete work solution. These services also combine nicely with IAM.

How to receive emails of the same inbox from multiple server instances

I have an application running on WebLogic Server with 6 instances. Many requests for the application come from Email. We already set up an email account that will be used by all clients to send email to. But the problem is that the email account inbox can only be opened for reading by a single connection, unlike a typical database.
Currently I can only deploy the email reading service on a single server instance, this will effectively create a single point of failure and unbalanced load. What's the best way to read from the same inbox from multiple servers? I am thinking developing something using a database table, sort of leasing, whoever locked the table own the lease and can connect to the email server, but this is pretty hard to implement correctly in all circumstances.
I am not sure why you say that only one client can access the inbox as POP certainly can handle multiple connections to the same inbox and this can be configured in the mail server. You might need to talk to your mail server admin.
I haven't worked with Weblogic to give you a specific answer, but you should also be able to have a service written that checks the incoming mail and process incoming mails into a database as you wanted. Once the information is in a database, you can use it via multiple hosts. This is a better approach as this can be setup to prevent multiple clients responding to the same email.