CentOS 7中 邮件服务Postfix 通过Gmail转发

我们在服务器中,经常需要使用到发送邮件服务。但是如果使用自己的主机来发送邮件的话,

经常会被邮箱系统给屏蔽,因为你的是自己的域名。使用Gmail的就不会。这里是使用Gmail做说明,

其他的邮件系统也类似

  1. 安装必要的组件
yum install postfix mailx cyrus-sasl-plain cyrus-sasl-md5

2. 配置用户密码

echo "smtp.gmail.com    smtp_user:smtp_passwd" > /etc/postfix/sasl_passwd

3. 对用户密码进行加密

postmap hash:/etc/postfix/sasl_passwd

备注:如果提示说缺少什么libmysqlclient.so之类的,你需要做

a. 安装对应的lib (yum provides ‘*/libmysqlclient.so.18’ 查询哪些组建提供该依赖)

b. 增加对应的lib到 /etc/ld.so.conf.d/local.conf目录中,然后执行ldconfig

#vim /etc/ld.so.conf.d/local.conf
/usr/local/lib
/usr/lib64
/usr/lib
/usr/lib64/mysql/

 

4. 修改配置文件:/etc/postfix/main.cf,直接在文件末尾增加如下:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
# Secure channel TLS with exact nexthop name match.
smtp_tls_security_level = secure
smtp_tls_mandatory_protocols = TLSv1
smtp_tls_mandatory_ciphers = high
smtp_tls_secure_cert_match = nexthop
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
#smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
relayhost = [smtp.gmail.com]:587

注意:CAfile 是用来验证与Gmail建立连接时加密用的,可以选择本机上的根证书,通常是上述路径

5. 开启服务,发送邮件厕所

systemctl enable postfix
systemctl reload postfix
systemctl restart postfix
echo "This is a test." | mail -s "test message" user@example.net

6.  删除密码文件,安全起见这个已经不需要了

rm /etc/postfix/sasl/passwd

 

7. 问题与日志

如果有问题可以检查日志文件:

tail -f /var/log/maillog