Ubuntu 用Gmail配置Postfix
简介
Postfix是用于发送和接收电子邮件的邮件传输代理。它很容易在Ubuntu服务器上安装和配置。
在本教程中,我们将告诉你如何在Ubuntu上配置Postfix和Gmail。
前提条件
在你继续之前,你将需要以下条件
- 一台运行中的Ubuntu服务器
-
一个Gmail账户
-
一个有效的域名,并配置为指向服务器的IP地址
第1步:安装Postfix
第1步,在你的Ubuntu系统上安装Postfix。你可以通过运行以下命令来完成
sudo apt-get install postfix
在安装过程中,你会被提示选择邮件服务器的配置和选项。你应该选择 “Internet Site”,并在询问时填写你的服务器域名。
第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账户。
-
进入你的谷歌账户设置页面。
-
点击 “安全”。
-
在 “登录到谷歌 “下,点击 “应用密码”。
-
选择 “邮件 “作为应用程序,”其他(自定义名称)”作为设备。
-
为密码输入一个名称,然后点击 “生成”。
-
记下生成的密码。
第4步:在Postfix中添加Gmail凭证
现在你已经创建了一个应用程序密码,你需要把它添加到Postfix中。通过运行以下命令,在/etc/postfix目录下创建一个名为 “sasl_passwd “的新文件
sudo nano /etc/postfix/sasl_passwd
在文件中添加以下一行,将your-email@gmail.com
替换为你的Gmail地址,将 your-password
替换为你生成的App密码–your-email@gmail.com
。
[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” – 这个选项允许你指定一个自定义的证书授权(CA)文件,用于TLS加密。如果你想使用一个不同于Ubuntu默认的CA,这可能很有用。
-
“smtp_tls_security_level” – 这个选项决定了TLS加密所需的安全级别。可能的值是 “may”、”encrypt”、”dane “和 “verify”。默认值是 “可能”,这意味着如果可能的话会使用TLS加密。
-
“smtp_tls_mandatory_protocols” – 这个选项指定了允许的最小TLS协议版本。可能的值是 “TLSv1″、”TLSv1.1 “和 “TLSv1.2″。默认值是 “TLSv1″。
-
“smtp_tls_mandatory_ciphers” – 这个选项指定了允许的最小TLS密码。默认值是 “高”。
-
“smtp_tls_exclude_ciphers” – 这个选项允许你从允许的密码列表中排除特定的TLS密码。
-
“smtp_tls_note_starttls_offer” – 这个选项在邮件头添加一个注释,表明服务器在SMTP会话中是否提供了STARTTLS命令。
你可以把这些选项添加到/etc/postfix/main.cf文件中,就像 relayhost 和 sasl_passwd 选项一样。Here is an example configuration that uses some of these options −
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被设置为 “是”,它启用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被设置为 “高”,它要求使用强TLS密码。
-
smtp_tls_exclude_ciphers 被设置为不允许使用的弱 TLS 密码的列表。
-
smtp_tls_note_starttls_offer被设置为 “yes”,它在消息头中添加一个注释,表明服务器是否提供了STARTTLS命令。
总结
在本教程中,我们已经向你展示了如何在Ubuntu上配置Postfix与Gmail。这个配置允许你使用你的Gmail账户发送和接收邮件。按照这些步骤,你可以很容易地设置Postfix,将Gmail作为Ubuntu服务器上的中继。