Outgoing mail via gmail

From Amahi Wiki
Revision as of 04:18, 7 September 2015 by Bigfoot65 (talk | contribs)
Jump to: navigation, search
Warning.png WARNING
This is recommended only for advanced users, proceed with caution.


This can be used to send mails from your Amahi 7/8 (Fedora 19/21) HDA and to receive system emails. To receive emails meant for the root user, you have to Forward System Emails after finishing this tutorial. You also might want to take a look at Masquerade email address as well.

REF: Postfix SMTP relay to SMTP gmail.com

  • First of all, install postfix and remove sendmail:
yum -y install postfix mailx
yum -y remove sendmail
  • Add the following to the bottom of the file /etc/postfix/main.cf. You do not need to change anything else in it, as the last setting for any option is the one that is saved.
####Gmail SMTP Relay
#TLS parameters
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_note_starttls_offer = yes
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
 
#Relay host configuration
relayhost = [smtp.gmail.com]:587
 
#SASL Configuration
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_sasl_tls_security_options = noanonymous


  • Create /etc/postfix/sasl_passwd file with your Gmail login credentials that looks like below:
[smtp.gmail.com]:587 user@gmail.com:Password


NOTE: Change user to your username and password to your gmail crredentials.

  • Build the password database:
postmap hash:/etc/postfix/sasl_passwd
  • Create /etc/postfix/tls_policy file that looks like below:
[smtp.gmail.com]:587 encrypt


  • Build the policy database:
postmap /etc/postfix/tls_policy
  • Protect the files with your Gmail login data:
chmod 600 /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd.db
chmod 600 /etc/postfix/tls_policy
chmod 600 /etc/postfix/tls_policy.db
  • Restart Postfix:
systemctl restart postfix.service
  • Set Postifx to start on boot:
systemctl enable postfix.service
  • Now try sending a mail, it should reach your Gmail account:
echo test 1 2 | mail -s "Test mail" user@gmail.com


NOTE: Some ISPs will block emails sent using this method. Looking for a work around.

Troubleshooting

  • If you get the message " warning: SASL authentication failure: No worthy mechs found", install this package.
yum install cyrus-sasl{,-plain}
Restart Postfix
systemctl restart postfix
  • Receive the following message:
connect to smtp.gmail.com[2607:f8b0:400e:c05::6d]:587: Network is unreachable
To correct this problem, change /etc/postfix/main.cf as follows:
inet_protocol = ipv4
Restart postfix
systemctl reload postfix

See also:
Forward System Emails
Monitor System Logs via E-mail