How to send mail on ubuntu or linux system
Configure Postfix on Ubuntu to Use Gmail SMTP
or
How to send mail on ubuntu
This post is about how to setup postfix or how to send a mail on ubuntu linux server. If you face any problem, share it with us in the comments section.
This is a usecase of sending mail from ubuntu system.
Setup
Let’s install the required packages:
sudo apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
If you had postfix already setup than, you can skip the process while installing postfix. A wizard will open up, just select your server as Internet Site and for FQDN use something like mail.example.com
Now open your postfix config file:vim /etc/postfix/main.cf
and add the following lines to it:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yesThese lines are simple to understand, we are simply specifying few settings like we will be using GMAIL and it would be password protected, the file having username & password is /etc/postfix/sasl_passwd, the certificate file is /etc/postfix/cacert.pem and we are using the tls encryption.
Now let’s create the sasl_passwd file and put the username & password.vim /etc/postfix/sasl_passwd
And add following line:
[smtp.gmail.com]:587 [email protected]:PASSWORD
If you want to use your Google App’s domain, than replace
@gmail.com
with your@domain.com
Fix permission and update postfix config to use sasl_passwd file:sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwdLet’s, validate certificates now to avoid running into error. If you don’t have the file Thawte_Premium_Server_CA.pem is not there than you can get one from your SSL provider or you can create your self signed certificate from here.
Run following command
cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem
Reload postfix config for changes to take effect:
sudo /etc/init.d/postfix reload
Check the setup by sending the mail
If you have done everything correctly, than now you would be able to get a mail in your inbox from ubuntu after running the following command.
echo "Test mail from ubuntu" | mail -s "Testing Setup" [email protected]After running the above command you should see a mail in the inbox of [email protected] and to verify if it has been sent via the user specified by us in sasl_passwd file, check the sent mail of that account.
Note: Gmail’s SMTP server has a limit of 500 emails per day. So use wisely!Getting Error?
You might encounter the following error
Error: “SASL authentication failed; server smtp.gmail.com”
In this case you need to unlock the captcha by visiting this page https://www.google.com/accounts/DisplayUnlockCaptcha
You can run test again after unlocking captcha.Usage
You can use this utility to send mail to notify some important events like if Nginx stopped working. This post explains how to notify the Sysadmin if Nginx stopped working