一直都是使用esmtp mta,使用163用戶發送一些mail到外網,
postfix發送時總是說非本地用戶不許發送. 難到postfix搞不過esmtp這個簡易的mta ?
研究了幾天, 終於搞出來了.
1.
$vi /etc/postfix/main.conf
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_type = cyrus
smtp_sasl_security_options = noanonymous
2. 指定163 認證帳戶
$vi /etc/postfix/sasl_passwd
[smtp.163.com]:25 user:pass
postmap sasl_passwd
3. 使用transport, 指定某些郵件由smtp.163.com發送
$vi /etc/postfix/main.conf
transport_maps =hash:/etc/postfix/transport
vi /etc/postfix/transport
163.com smtp:[smtp.163.com]:25
yahoo.com.cn smtp:[smtp.163.com]:25
hotmail.com smtp:[smtp.163.com]:25
postmap /etc/postfix/transport
4. 修改發件者, 現在, local user1,就可以使用smtp1.163.com發送email 了.
$vi /etc/postfix/main.conf
sender_canonical_maps = hash:/etc/postfix/sender_canonical
$vi /etc/postfix/sender_canonical
user1 my163_user@163.com
postmap /etc/postfix/sender_canonical
5. 重新啟動 postfix
/etc/init.d/postfix restart
6. 測試email
echo "hello world" |mail -s test user@163.com
6. over
如果使用relayhost, 就不需要transport了,所有的email都由smtp.163.com來發送.
如果接收借助fetchmail, 就可以完成一些基本的email功能了
2008/09/23
阿飛
阅读(12318) | 评论(0) | 转发(0) |