Postfix配置客户端SMTP身份验证(Smarthost身份验证)

时间:2020-01-09 10:43:03  来源:igfitidea点击:

在Linux/UNIX等操作系统下,如何使用Postfix SMTP通过邮件ISP服务器中继邮件?

Postfix具有使用SASL进行身份验证的方法。
它可以使用文本文件或者MySQL表作为特殊的密码数据库。

为邮件服务器配置SMTP AUTH

创建一个文本文件,如下所示:

# P=/etc/postfix/password
# vi $P

客户端密码文件的格式如下:

#smtp.isp.com       username:password
smtp.vsnl.in         [email protected]:mySecretePassword

保存并关闭文件。
设置权限:

# chown root:root $P
# chmod 0600 $P
# postmap hash:$P

启用SMTP AUTH

打开main.cf文件,执行:

# vi /etc/postfix/main.cf

追加以下配置指令:

relayhost = smtp.vsnl.in
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
smtp_sasl_security_options =

其中:

  • relayhost = smtp.vsnl.in:依靠通过smtp.vsnl.in ISP邮件服务器的所有邮件。
  • smtp_sasl_auth_enable = yes:Cyrus-SASL支持邮件服务器的身份验证。
  • smtp_sasl_password_maps = hash:/etc/postfix/password:将路径设置为sasl_passwd。
  • smtp_sasl_security_options =:最后,允许Postfix保留为空,以使用匿名和纯文本身份验证。

保存并关闭文件。
重新启动后缀:

# /etc/init.d/postfix reload

通过发送文本电子邮件来测试您的设置:

$ echo 'This is a test.' > /tmp/test
$ mail -s 'Test' [email protected] < /tmp/test
# tail -f /var/log/maillog
# rm /tmp/test