配置 Postfix 以在 Ubuntu 上使用 Gmail SMTP

Configure Postfix to Use Gmail SMTP on Ubuntu

我正在使用 this online guide here 启用 从 linux (ubuntu) 终端发送简单的邮件 通过一些 gmail 帐户使用 postfix。 我已完成此处列出的步骤:

sudo apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
vim /etc/postfix/main.cf

并添加以下行:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

然后编辑这个文件:

vim /etc/postfix/sasl_passwd

要按照指南中的说明添加行:

[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD

(当然是用我自己的邮箱和密码)然后最后:

sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

然后:

sudo /etc/init.d/postfix reload

当我尝试发送简单的邮件时没有任何反应:

echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com

(当然这里也有一些其他有效的电子邮件)

我做错了什么?谢谢!

问题可能与应用程序密码有关。例如,我无法使用当前密码在旧客户端上使用我的 gmail。您可能想要创建“Application Password”。

或启用 less secure apps 可以提供帮助。 (很可能这就是解决方案)

用于管理应用密码: https://myaccount.google.com/apppasswords

额外信息:Use Gmail as your SMTP Server – even when using 2-factor authentication (2-step verification)

我认为您需要验证证书以避免运行出错。

试试:

cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem

如果您 运行 遇到上述命令的问题,请尝试将证书重命名为: thawte_Primary_Root_CA.pem 在上面的命令中。

现在,重新加载服务器

sudo /etc/init.d/postfix reload