[CentOS] Postfix relay on Comcast

Fri Nov 22 02:08:47 UTC 2013
Lists <lists at benjamindsmith.com>

How to get postfix working on CentOS 6 and Comcast. Recently, they've 
changed their policies regards email relay and require authentication 
even to send email. (they no longer use IP address ranges, presumably in 
an attempt to curb outgoing SPAM)

I didn't see an updated howto anywhere on the Interwebs, thought I'd 
point out what I had to do. The part that had me stumped for longer than 
I care to admit was having to install cyrus-sasl-plain rpm - EL5 
apparently had that installed as part of the cyrus-sasl package.

1) yum install postfix cyrus-sasl-plain;
# note that cyrus-sasl-plain is NOT installed by default but is needed 
by this config.

2) Create file /etc/postfix/passwords. Replace "USERNAME" with your user 
name, and
"password" with your password. Note: your username is typically your 
email address without the domain name.
#----------------------------
smtp.comcast.net:587 USERNAME:password
smtp.comcast.net USERNAME at comcast.net:password
#----------------------------

3) makemap passwords;

4) Edit /etc/postfix/main.cf
#----------------------------
relayhost = [smtp.comcast.net]:587
smtpd_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/passwords
# note that with no security options on, we're using sasl-plain 
installed above.
smtp_sasl_security_options =
# You might need this, you may not.
#sender_canonical_maps = regexp:/etc/postfix/sender_rewrite
#----------------------------

5) Create file /etc/postfix/sender_rewrite. Note that not all Comcast 
customers need this, I didn't when I authenticated as above. Obviously, 
replace "USERNAME" with your user name.
#----------------------------
/^([^@]*)@.*$/  USERNAME at comcast.net
#----------------------------

6) service postfix stop; sleep 5; service postfix start