|
/Admin/email/postfix:
Simple E-mail Server Relay
The obvious first thing to try is an unauthenticated relay through your ISP's e-mail server: since I am a paying ADSL customer within their network, hopefully authentication will not be necessary. My ISP is China Netcom (中国网通 - “Wang Tong”). From China Netcom's e-mail web page I deduce that one of their servers is smtp.bbn.cn. If I add
relayhost = smtp.bbn.cnto /etc/postfix/main.cf, my e-mails bounce with the error “530 Authentication required”, ie. for this SMTP server I need to set up a China Netcom/网通 e-mail account and use authenticated relaying.
I then set up a bbn.cn account on http://mail.bbn.com.cn/. Note that if you are not using a China Netcom/网通 internet connection, you will get the following error message when you attempt to register: “提示:请您使用北京网通宽带接入才能购买此产品”. Also note that if you cannot read Chinese then the translation function of www.xuezhongwen.net/chindict/chindict.php is your friend.
I then tested my new bbn.cn account's SMTP with my regular e-mail client, and it seemed to work fine. I then configured my postfix server to relay ALL e-mails through my bbn.cn account:
First edit /etc/postfix/sasl_passwd to contain:
smtp.bbn.cn username:passwordRestrict access to this password file:
chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwdCreate a database version of the file (sasl_passwd.db) for postfix:
postmap hash:/etc/postfix/sasl_passwdNow edit /etc/postfix/main.cf to add the following lines:
relayhost = smtp.bbn.cnand restart postfix:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_type = cyrus
smtp_sasl_security_options = noanonymous
/etc/init.d/postfix restartYou can then verify that your server’s outgoing e-mails are passing through smtp.bbn.cn by examining the header of a sent e-mail. Also, in /var/log/mail.log you should also see something like:
postfix/smtp[7052]: 34CEA238D8: to=user@email.com, relay=smtp.bbn.cn[202.106.46.89]:25, delay=1388, delays=1382/0.11/5.6/0.14, dsn=2.0.0, status=sent (250 ok: Message 135909587 accepted)
Sadly, there seems to be a problem with smtp.bbn.cn, as some of my e-mail disappeared without a trace or a bounce. Bad server. Stay away from smtp.bbn.cn.
But the process is very easy to replicate. Next I registered for a sohu.com e-mail account at mail.sohu.com and substituted:
relayhost = smtp.sohu.com
in /etc/postfix/main.cf. (And don't forget the correct userid/password for your sohu.com account in /etc/postfix/sasl_passwd...)
smtp.sohu.com seems to be reliable in the sense that they do not lose my e-mail, but if there is a lot of outgoing mail in a short period, they start refusing service and finally bounce everything for a period of time until things quiet down. In other words, a simple relay through sohu will probably work for personal e-mail, but if you have other people using your server this will probably not be the final solution.
I am running now on a somewhat more complicated configuration: a multiple relay.
posted at: 08:21 | path: /Admin/email/postfix | permanent link to this entry