在 Ubuntu 上配置 Postfix 和 Gmail
简介
Postfix 是用于发送和接收邮件的邮件传输代理。它在 Ubuntu 服务器上的安装和配置非常简单。
在本教程中,我们将向您展示如何在 Ubuntu 上配置 Postfix 和 Gmail。
先决条件
继续之前,您需要以下信息 -
一个正在运行的 Ubuntu 服务器
一个 Gmail 帐户
一个配置为指向服务器 IP 地址的有效域名
步骤 1:安装 Postfix
第一步,在您的 Ubuntu 系统上安装 Postfix。您可以通过运行以下命令来执行此操作 -
sudo apt-get install postfix
安装过程中,系统会提示您选择邮件服务器配置及其选项。您应该选择"Internet 站点",并在提示时填写服务器的域名。
步骤 2:配置 Postfix
安装 Postfix 后,您需要将其配置为使用 Gmail 作为所有电子邮件的中继。使用以下命令打开 Postfix 主配置文件 -
sudo nano /etc/postfix/main.cf
在文件末尾添加以下几行 -
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
保存并退出文件。
步骤 3:创建 Gmail 应用密码
要将 Gmail 用作中继服务器,您需要在 Gmail 配置中创建应用密码。此密码用于验证 Gmail 服务器的身份验证,以便中继电子邮件。要创建应用密码,您可以按照以下步骤操作:
登录您的 Gmail 帐户。
前往您的 Google 帐户设置页面。
点击"安全"。
在"登录 Google"下,点击"应用密码"。
选择"邮件"作为应用,并选择"其他(自定义名称)"作为设备。
输入密码名称,然后点击"生成"。
记下生成的密码。
步骤 4:在 Postfix 中添加 Gmail 凭据
现在您已经创建了应用密码,您需要将其添加到 Postfix。运行以下命令,在 /etc/postfix 目录中创建一个名为"sasl_passwd"的新文件 -
sudo nano /etc/postfix/sasl_passwd
将以下行添加到文件中,将 "your-email@gmail.com" 替换为您的 Gmail 地址,将 "your-password" 替换为您生成的应用密码 -
[smtp.gmail.com]:587 your-email@gmail.com:your-password
保存并退出文件。
现在,使用以下命令对 sasl_passwd 文件进行哈希处理 -
sudo postmap /etc/postfix/sasl_passwd
步骤 5:重启Postfix
现在使用以下命令重启 Postfix 服务以应用更改 -
sudo systemctl restart postfix
步骤 6:测试配置
要测试配置,请使用"mail"命令发送一封电子邮件,并将 "recipient@email.com" 替换为您要发送邮件的电子邮件地址 -
echo "Test email" | mail -s "Test subject" recipient@email.com
如果所有配置均正确无误,则收件人应该能够发送和接收电子邮件。
高级配置选项
还有一些其他配置选项,您可以使用它们来微调 Postfix 和 Gmail 的集成。以下是一些最有用的选项 -
"smtp_tls_CAfile" - 此选项允许您指定用于 TLS 加密的自定义证书颁发机构 (CA) 文件。如果您想使用与 Ubuntu 默认 CA 不同的 CA,这将非常有用。
"smtp_tls_security_level" - 此选项确定 TLS 加密所需的安全级别。可能的值为"may"、"encrypt"、"dane"和"verify"。默认值为"may",表示尽可能使用 TLS 加密。
"smtp_tls_mandatory_protocols" − 此选项指定允许的最低 TLS 协议版本。可能的值为"TLSv1"、"TLSv1.1"和"TLSv1.2"。默认值为"TLSv1"。
"smtp_tls_mandatory_ciphers" − 此选项指定允许的最低 TLS 密码。默认值为"high"。
"smtp_tls_exclude_ciphers" − 此选项允许您从允许的密码列表中排除特定的 TLS 密码。
"smtp_tls_note_starttls_offer" − 此选项在邮件头中添加一条注释,指示服务器在 SMTP 会话期间是否提供了 STARTTLS 命令。
您可以将这些选项添加到 /etc/postfix/main.cf 文件中,就像 relayhost 和 sasl_passwd 选项一样。以下是使用部分选项的示例配置 -
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_security_level = encrypt smtp_tls_mandatory_protocols = !SSLv2,!SSLv3 smtp_tls_mandatory_ciphers = high smtp_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK、SRP、CAMELLIA128、CAMELLIA256、SEED smtp_tls_note_starttls_offer = yes
此配置指定以下选项 -
relayhost 设置为 smtp.gmail.com:587,即 Gmail SMTP 服务器及其端口号。
smtp_use_tls 设置为"yes",为 SMTP 连接启用 TLS 加密。
smtp_sasl_auth_enable 设置为"yes",启用 SASL 身份验证。
smtp_sasl_password_maps 设置为 /etc/postfix/sasl_passwd,其中包含 Gmail凭据。
smtp_sasl_security_options 设置为"noanonymous",要求客户端使用 SASL 身份验证来标识自己。
smtp_tls_CAfile 设置为 /etc/ssl/certs/ca-certificates.crt,这是 Ubuntu 的默认 CA 文件。
smtp_tls_security_level 设置为"encrypt",要求使用 TLS 加密。
smtp_tls_mandatory_protocols 设置为"!SSLv2,!SSLv3",不允许使用 SSLv2 和 SSLv3。
smtp_tls_mandatory_ciphers 设置为"high",要求使用强 TLS密码。
smtp_tls_exclude_ciphers 设置为不允许使用的弱 TLS 密码列表。
smtp_tls_note_starttls_offer 设置为"yes",这会在邮件头中添加一条注释,指示服务器是否提供了 STARTTLS 命令。
总结
在本教程中,我们向您展示了如何在 Ubuntu 上配置 Postfix 和 Gmail。此配置允许您使用 Gmail 帐户收发电子邮件。按照以下步骤,您可以轻松地在 Ubuntu 服务器上设置 Postfix,以使用 Gmail 作为中继。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

