Finally, a lucid explanation about how to set up Postfix to use SMTP AUTH as a client.

Of course, I found this after making changes to SquirrelMail for sitewide auth, but I think those changes will still be useful for someone…

Just in case the text mysteriously vanishes:

Relay Set Up (postfix)

In following examples * should be substituted with your second level domain (sbcglobal, ameritech, pacbell, swbell, etc.)

You need to either set up your designated smtp.*.yahoo.com server as either relayhost (to relay all mail), or /etc/postfix/transport (man 5 transport) to only relay for specific destination domains. For either relayhost or transport you may have to enclose the relay in square brackets like relayhost = [smtp.*.yahoo.com] so the bogus MX record will be ignored.

transport file example:

ameritech.net smtp:[smtp.*.yahoo.com]
.ameritech.net smtp:[smtp.*.yahoo.com]

Do likewise for other SBC related domains on the left like pacbell.net, prodigy.net, prodigy.com, sbcglobal.net, snet.net, swbell.net, yahoo.com. Then do postmap /etc/postfix/transport to update transport.db.

Postfix as SMTP AUTH Client

Things you need to enable or add to /etc/postfix/main.cf:

smtp_sasl_auth_enable = yes
smtp_sasl_security_options =

  1. above blank to clear default noplaintext since SBC auth is plain text
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

    With smtp.*.yahoo.com now as CNAME for smtp-sbc.mail.yahoo.com, this works in sasl_passwd file:

    # this worked before
    smtp-sbc.mail.yahoo.comuser@yourSBC.domain:passwd

  2. this may be needed now (Dec 10, 2003):
    smtp-sbc-v1.mail.vip.sc5.yahoo.comuser@yourSBC.domain:passwd

    Then you need to postmap /etc/postfix/sasl_passwd to update sasl_passwd.db (or just run SuSEconfig in SuSE). Since I am new to postfix I do not know how to get verbose output of what it is doing, but either your mail logs should tell you if it sent successfully, or the bounce error will tell you why not, if your return address is valid.

    This worked grand for me. I have my transport table in MySQL, and added what I needed to use my ISPs SMTP server.

    Be careful with the sasl settings, there is a matching set starting with smtpd_ that are for Postfix SMTP acting as a server. Make sure you use the ones without the _d_ to effect client behavior..