Sending email via Gmail relay through postfix

From Notes_Wiki
Revision as of 11:55, 26 September 2019 by Saurabh (talk | contribs)

<yambe:breadcrumb>Postfix_server_configuration|Postfix server configuration</yambe:breadcrumb>

Sending email via Gmail relay through postfix

To send email via Gmail relay through postfix use:

  1. Configure gmail to use less secure apps using:
    1. Login into Gmail account and go to Settings -> Accounts -> Google Account Settings
    2. In "Google Account Settings" go to Sign-in and Security.
    3. In Sign-in and security change "Allow less secure apps:" to ON
  2. yum -y install cyrus-sasl cyrus-sasl-plain cyrus-sasl-lib postfix mailx
  3. 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
  4. Set at least following in /etc/postfix/main.cf for mail system to work properly:
    myhostname
    mydomain
    myorigin
    inet_interfaces = all
    inet_protocols = ipv4
  5. edit /etc/postfix/sasl_passwd and put something like
    smtp.gmail.com <gmail-email-address>:<gmail-password>
  6. Create hash postmap of sasl_password using:
    cd /etc/postfix
    chmod 600 sasl_passwd
    postmap hash:/etc/postfix/sasl_passwd
  7. 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
  8. service postfix restart
  9. echo "Test email using postfix" | mail -s "Gmail relay test" saurabh@sbarjatiya.com
  10. 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>