Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ultramookie/d7e22ad5795b2441a4c73fbe64934686 to your computer and use it in GitHub Desktop.
Save ultramookie/d7e22ad5795b2441a4c73fbe64934686 to your computer and use it in GitHub Desktop.
Postfix: sender-dependent SASL authentication — relay to multiple SMTP hosts, or relay to the same host but authenticate as different users (e.g., two Gmail accounts)

This is a sequel to "Postfix: relay to authenticated SMTP".

I would like to send mail from two different Gmail accounts using Postfix. Here is the relevant section in the Postfix documentation: Configuring Sender-Dependent SASL authentication.

As a concrete example, here's how to set up two Gmail accounts (only relevant sections of the config files are listed below):

/etc/postfix/main.cf:
    # sender-dependent sasl authentication
    smtp_sender_dependent_authentication = yes
    sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
    
    # default relayhost setting
    relayhost = [smtp.gmail.com]:587
    
    # smtp authentication settings
    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_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
    smtp_use_tls = yes
    smtp_tls_security_level = encrypt
    
/etc/postfix/sasl_passwd:
    # per-sender authentication
    [email protected] [email protected]:passwd1
    [email protected] [email protected]:passwd2
    
    # default relayhost
    [smtp.gmail.com]:587 [email protected]:default_passwd
    
/etc/postfix/sender_relay:
    [email protected] [smtp.gmail.com]:587
    [email protected] [smtp.gmail.com]:587

After editing the config files (sudo su), do

chmod 600 /etc/postfix/sasl_passwd
postmap sasl_passwd sender_relay
postfix reload

And you're all set.

To send an email from [email protected], use sendmail with the -f sender option (set the envelope sender address):

sendmail -f [email protected] -t <<EOF
To: [email protected]
Subject: Hey, I successfully configured Postfix with sender-dependent SASL authentication!
Content-type: text/html

<b>Isn't this awesome?</b>
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment