很多时候你不会有自建独立email server的机会,那么需要通过gmail或者qq企业邮箱的账号来往外发信。

场景如下:

那么我们需要在IDC内网建一个Postfix邮件转发服务器,所有内网的服务器都通过这台服务器来发送邮件,不需要认证。

Postfix基本已经缺省安装了。

首先编辑/etc/postfix/main.cf,将本地服务器的网段加入,这样同网段的服务器发邮件就不需要再认证了:

...
mynetworks = 172.16.0.0/16, 127.0.0.1/32  
...

检查一下/etc/ssl/certs/ca-certificates.crt是否存在。 如果不存在,就去更新一下:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt  

如果是Gmail,在/etc/postfix/main.cf最后追加:

#以下是Gmail的配法
relayhost = [smtp.gmail.com]:587  
smtp_sasl_auth_enable = yes  
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd  
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt  
smtp_sasl_security_options =  
smtp_use_tls = yes  
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt  

如果是QQ企业邮箱,在/etc/postfix/main.cf最后追加:

#以下是qq企业邮箱的配法
relayhost = [smtp.exmail.qq.com]:587  
smtp_sasl_auth_enable = yes  
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd  
smtp_sasl_security_options = noanonymous  
smtp_use_tls = yes  
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt  

编辑/etc/postfix/sasl_passwd

vi /etc/postfix/sasl_passwd  
[smtp.exmail.qq.com]:25 ttt@bbb.com:1111111
或者
[smtp.gmail.com]:587  username:password

然后执行

postmap /etc/postfix/sasl_passwd  

最后reload Postfix

service postfix reload  

这样一个转发邮局就配好了,采用tls加密,安全且不会碰到黑名单问题。

comments powered by Disqus