配置Postfix以将Gmail用作邮件中继

配置Postfix以将Gmail用作邮件中继

如果您拥有Gmail帐户,则可以将MTA配置为通过Gmail中继外发邮件。这利用了Gmail的可靠性和强大的基础结构,并提供了一种从命令行发送邮件的简便方法。

本教程使用Postfix作为MTA。 Postfix是一个免费,开源,活动,安全的邮件传输代理。

每个步骤都描述了以下特定于操作系统的步骤:

  • Debian 9
  • Ubuntu 18.04 LTS
  • CentOS的7
  • OpenSUSE Leap 15.0
  • Arch Linux 2019.03.01
  • FreeBSD 12.0

我会再次安装 mailutils/邮件 启用发送测试邮件。如果需要,请安装补充的SASL库。

所有以开头的命令 需要root特权。

1.安装所需的软件

Debian,Ubuntu:

apt-get update && apt-get install postfix mailutils

当提示您输入“电子邮件设置的常规类型”时,选择 互联网站点

当提示您输入电子邮件名称时,选择要在电子邮件标题中使用的主机名作为电子邮件的来源。建议使用完全限定的域名,但是您可以安全地使用计算机的简单主机名。无论您在此处输入什么内容,回复地址都将作为Gmail地址显示给收件人。

可能会要求您设置“ root and postmaster电子邮件收件人”。进入 路线,或另一个用户接收邮件子系统通知。

对于其他提示,您可以选择默认值。

软呢帽:

dnf update && dnf install postfix mailx

CentOS的:

yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain

OpenSUSE:

zypper update && zypper install postfix mailx cyrus-sasl

Arch Linux:

pacman -Sy postfix mailutils

FreeBSD:

从端口集合编译Postfix以合并SASL支持。

portsnap fetch extract update
cd /usr/ports/mail/postfix
make config

在配置对话框中,选择 SASL支持。所有其他选项可以保持不变。然后:

make install clean

Mailx可以从二进制软件包安装。

pkg install mailx

2.配置Gmail身份验证

创建或修改Postfix用于通过Gmail建立身份验证的密码文件。替换为以下凭证 用户名 Gmail用户名和 密码 使用您的Gmail密码。如果您使用的是自定义Gmail Apps域名,则可以替换它 gmail.com 在Google Apps域中。

密码文件位于Postfix配置目录中。该文件可以有任何名称,但是建议的文件名为 sasl_passwd

Debian,Ubuntu,Fedora,CentOS,OpenSUSE,Arch Linux:

Postfix配置文件位于目录中 / etc / postfix。创建或编辑密码文件。

nano /etc/postfix/sasl_passwd

添加以下行:

[smtp.gmail.com]:587    [email protected]:password

保存并关闭文件。 Gmail密码以纯文本格式存储,因此只有root才能访问文件。

chmod 600 /etc/postfix/sasl_passwd

FreeBSD:

Postfix配置文件位于目录中 / usr /本地/ etc /后缀。创建或编辑密码文件。

nano /usr/local/etc/postfix/sasl_passwd

添加以下行:

[smtp.gmail.com]:587    [email protected]:password

保存并关闭文件。使它只能由root用户访问。

chmod 600 /usr/local/etc/postfix/sasl_passwd

3.配置后缀

Postfix配置文件中需要设置六个参数 main.cf。参数如下:

中继主机,邮件中继主机和端口号。主机名用括号括起来,并指定不需要MX查找。

smtp_use_tls,启用(或禁用)传输层安全性。

smtp_sasl_auth_enable,启用(或禁用)SASL身份验证。

smtp_sasl_security_options,以下设置设为空,以防止使用与Gmail不兼容的安全选项:

smtp_sasl_password_maps,指定要使用的密码文件。该文件被编译并散列 发布地图 在后续步骤中。

smtp_tls_CAfile,指定检查服务器ID时要使用的证书颁发机构的列表。

Debian,Ubuntu,Arch Linux:

编辑主Postfix配置文件。

nano /etc/postfix/main.cf

添加或更改以下值:

relayhost = [smtp.gmail.com]:587smtp_use_tls = yessmtp_sasl_auth_enable = yessmtp_sasl_security_options =smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

保存并关闭文件。

Fedora,CentOS:

编辑主Postfix配置文件。

nano /etc/postfix/main.cf

添加或更改以下值:

relayhost = [smtp.gmail.com]:587smtp_use_tls = yessmtp_sasl_auth_enable = yessmtp_sasl_security_options =smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt

保存并关闭文件。

OpenSUSE:

编辑主Postfix配置文件。

nano /etc/postfix/main.cf

添加或更改以下值:

relayhost = [smtp.gmail.com]:587smtp_use_tls = yessmtp_sasl_auth_enable = yessmtp_sasl_security_options =smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_tls_CAfile = /etc/ssl/ca-bundle.pem

保存并关闭文件。

OpenSUSE还需要Postfix主进程配置文件。 master.cf 打开以进行更改。

nano /etc/postfix/master.cf

找到以下行:

#tlsmgr unix - - n 1000? 1 tlsmg

取消注释并执行以下操作:

tlsmgr unix - - n 1000? 1 tlsmg

保存并关闭文件。

FreeBSD:

编辑主Postfix配置文件。

nano /usr/local/etc/postfix/main.cf

添加或更改以下值:

relayhost = [smtp.gmail.com]:587smtp_use_tls = yessmtp_sasl_auth_enable = yessmtp_sasl_security_options =smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwdsmtp_tls_CAfile = /etc/mail/certs/cacert.pem

保存并关闭文件。

4.处理密码文件

使用方法 发布地图 编译并散列以下内容 sasl_passwd。结果存储在文件的Postfix配置目录中 sasl_passwd.db

Debian,Ubuntu,Fedora,CentOS,OpenSUSE,Arch Linux:

postmap /etc/postfix/sasl_passwd

FreeBSD:

postmap /usr/local/etc/postfix/sasl_passwd

5.重新启动Postfix

重新启动Postfix服务,以使更改生效。

Debian,Ubuntu,Fedora,CentOS,OpenSUSE,Arch Linux:

systemctl restart postfix.service

FreeBSD:

要仅在此会话中启动Postfix服务:

service postfix onestart

打开以在系统初始化时自动启动Postfix /etc/rc.conf 编辑:

nano /etc/rc.conf

添加以下行:

postfix_enable=YES

保存并关闭文件。然后,您可以:

service postfix start

启动Postfix。

6.在Gmail中启用“不安全的应用程序”

默认情况下,您的Gmail帐户仅允许使用最安全的登录方式,例如登录Web上的Gmail。登录到您的Gmail帐户并将其打开以允许中继请求 允许安全性较低的应用

有关更多信息,请参阅Google支持文档。允许安全性较低的应用访问您的帐户

7.发送测试电子邮件

通过使用发送电子邮件来测试新配置 邮寄 命令执行:

mail -s "Test subject" [email protected]

出现空白行(或 CC: 按Enter跳过)。输入消息的正文,然后按Enter键输入新行。完成撰写电子邮件后,输入 CTRL-D 发送。要取消电子邮件,请按 CTRL-C 两次

要发送撰写的电子邮件,请使用以下命令:

mail -s "Subject Here" [email protected] < textfile

textfile是包含要发送的文本的文件的名称。

故障排除

如果不是,请检查日志中是否存在Postfix错误。

Debian:

less /var/log/mail.log

Ubuntu,Fedora,CentOS,OpenSUSE,Arch Linux:

journalctl

FreeBSD:

less /var/log/maillog

如果您从Gmail收到身份验证错误,请进行检查 允许安全性较低的应用 如步骤6所述,它已在您的Gmail帐户设置中启用。

检查密码文件 sasl_passwd 如果您更改了密码文件,请重复步骤4和5,以哈希新的密码文件并重新启动Postfix。

如果出现TLS错误,请仔细检查您的配置 main.cf 如步骤3中所指定。如果更改设置,请按照步骤5中的指定重新启动Postfix。

Sidebar