mail is a beast. Sending email is easy but getting it pass spam filters when you’re a legitimate service is rather hard. Sending good email is especially hard when on EC2. The reason is due to spammers using and abusing elastic IPS. So, for startups your best bet of sending out a lot of email and getting it to the user is to use a service. You can pick Sendgrid. It’s cheap, fast, has good email tracking and builds all the appropriate email headers to get the mail white listed and into the destinations inbox. Sendgrid is the sender (think of them as an extension to sendmail).
New signups will usually get activated in less than four hours and then you simply add your username/password to the Postfix installation by editing the main.cf file.
First install postfix:
In Ubuntu, or any other apt using Linux distro, type in:
sudo apt-get install postfix
or if your system uses yum:
yum install postfix
Next choice your type of mail configuration: “Internet with Smarthost”.
From there, it’ll ask you questions that are entirely up to you.
It’s going to ask you for the smarthost address. Since we’re using SendGrid, use
Second edit the main.cf file:
sudo pico /etc/postfix/main.cf
sudo vi /etc/postfix/main.cf
to prepare the main.cf file
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:yourSendgridUsername:yourSendgridPassword
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
Replace yourSendgridUsername and yourSendgridPassword with your username and password.
sudo service postfix restart
Signup for SendGrid here