在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命令。

您可以像relayhost和sasl_passwd选项一样,将这些选项添加到/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
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帐户发送和接收电子邮件。通过遵循这些步骤,您可以轻松设置Postfix以在您的Ubuntu服务器上使用Gmail作为中继。

更新于:2024年2月26日

4K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.