在 Ubuntu 上配置 Postfix 以使用 Gmail SMTP
Posted
技术标签:
【中文标题】在 Ubuntu 上配置 Postfix 以使用 Gmail SMTP【英文标题】:Configure Postfix to Use Gmail SMTP on Ubuntu 【发布时间】:2018-07-21 21:13:24 【问题描述】:我正在使用this online guide here 来启用 从 linux (ubuntu) 终端发送的简单邮件 通过一些gmail帐户使用后缀。 我已经完成了那里列出的步骤:
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
(当然这里也有其他有效的电子邮件)
我做错了什么?谢谢!
【问题讨论】:
【参考方案1】:我认为您需要验证证书以避免出错。
尝试:
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
【讨论】:
是的,它有效!我用过:thawte_Primary_Root_CA.pem ...非常感谢!【参考方案2】:问题可能与应用程序密码有关。例如,我不能在使用当前密码的旧客户端上使用我的 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)
【讨论】:
谢谢,之前启用了不太安全的应用程序,所以不是这样。看起来两步验证可能会使整个事情变得更加复杂,所以我宁愿避免这种情况——奇怪的是,我曾经在一台旧电脑上做过完全相同的事情......以上是关于在 Ubuntu 上配置 Postfix 以使用 Gmail SMTP的主要内容,如果未能解决你的问题,请参考以下文章