Sending email via Gmail relay through postfix
<yambe:breadcrumb>Postfix_server_configuration|Postfix server configuration</yambe:breadcrumb>
Sending email via Gmail relay through postfix
There is newer article at CentOS 8.x postfix send email through relay or smarthost with smtp authentication
This is proving out to be less reliable these days. Most of emails sent using below technique via gmail neither get delivered / nor bounce!!! Best option is to authenticate with your own email server using same process mentioned below instead of relying on Gmail SMTP servers.
To send email via Gmail relay through postfix use:
- Configure gmail to use less secure apps using:
- Login into Gmail account and go to Settings -> Accounts -> Google Account Settings
- In "Google Account Settings" go to Sign-in and Security.
- In Sign-in and security change "Allow less secure apps:" to ON
- yum -y install cyrus-sasl cyrus-sasl-plain cyrus-sasl-lib postfix mailx
- Note that without cyrus-sasl and related packages error no worthy mechanisms found would be received while authenticating to Gmail via postfix. Refer https://serverfault.com/questions/325955/no-worthy-mechs-found-when-trying-to-relay-email-to-gmail-using-postfix
- Set at least following in /etc/postfix/main.cf for mail system to work properly:
- myhostname
- mydomain
- myorigin
- inet_interfaces = all
- inet_protocols = ipv4
- edit /etc/postfix/sasl_passwd and put something like
- smtp.gmail.com <gmail-email-address>:<gmail-password>
- Create hash postmap of sasl_password using:
- cd /etc/postfix
- chmod 600 sasl_passwd
- postmap hash:/etc/postfix/sasl_passwd
- edit /etc/postfix/main.cf and after relayhost comment lines insert
- smtp_sasl_auth_enable = yes
- smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
- smtp_sasl_security_options =
- smtp_tls_security_level = may
- relayhost = smtp.gmail.com:587
- service postfix restart
- echo "Test email using postfix" | mail -s "Gmail relay test" saurabh@sbarjatiya.com
- Look for successful email being sent or errors logs using:
- mailq
- tail -50 /var/log/maillog
- Logging into above configured "Less secure Gmail" account via browser also helps
To troubleshoot look at /var/log/maillog. In log lines look at value of ctladdr such as 'ctladdr=saurabh (501/501)'. Then look at /var/mail/saurabh or login as user saurabh and use 'mail' command to see error message sent by Gmail server.
<yambe:breadcrumb>Postfix_server_configuration|Postfix server configuration</yambe:breadcrumb>