这是我/etc/ssmtp/ssmtp.conf
的,省略了 root、电子邮件、密码和主机名:
[email protected]
[email protected]
AuthPass=my_gmail_password
hostname=my_host_name
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
文件权限为rw-r-----
.
虽然我保存了这个 conf,但我仍然在 WordPress 中遇到错误(通过Contact Form 7 插件,或简称 CF7)。
没有创建/var/log/mail.log
或/var/log/ssmtp.log
创建任何具有相似名称的日志文件(我知道我可以创建这些文件,touch
并假设如果我觉得确实需要它,我会这样做)。
在写这个问题的时候我明白了问题是什么,我处理了它,然后电子邮件发送成功。
前言
要理解我在下面的回答,必须确保了解电子邮件数据是如何从 CMS(在本例中为 WordPress)传输到最终的目标电子邮件帐户的。这条链描述它:
问题及其解决方案
我
sSMTP
上面的conf实际上很好。问题来自我通过sSMTP
(Gmail)向其发送数据的电子邮件代理:您会看到,在您创建一个电子邮件帐户后,该帐户将充当通过 SMTP 发送的内容与您的最终目标电子邮件地址之间的代理(一种媒介),该代理通常对于
sSMTP
类似的工具是无用的,直到您在该电子邮件代理本身中启用某些东西!在我的电子邮件代理 Gmail 中,我必须启用的功能称为“访问不太安全的应用程序”。
我收到一封发给 Gmail 的电子邮件,上面写着“查看被阻止的登录尝试”。我打开了这封电子邮件,了解到如果我允许,Gmail 将批准此数据来自的 IP 地址。这个电子邮件地址是我的 VPS 机器的 IP。
sSMTP
我允许通过Google 认为“不太安全的应用程序”发送电子邮件。然后我尝试再次从 WordPress 发送电子邮件。这一次,一切顺利。概括
问题出在 Gmail 这边——我必须在那里启用“访问不太安全的应用程序”,然后发送电子邮件,数据到达最终目的地。
笔记
sSMTP
我问自己“如何确保 sSMTP` 可以与多个应用程序一起使用。当时我在这里得到了答案。