配置 sSMTP 后无法从 WordPress 发送邮件

配置 sSMTP 后无法从 WordPress 发送邮件

这是我的/etc/ssmtp/ssmtp.conf省略的根、电子邮件、密码和主机名:

[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-----


尽管我已经保存了这个配置,但 WordPress 仍然出现错误(由 Contact Form 7 插件,简称CF7)。

没有创建/var/log/mail.log或具有类似名称的任何日志文件(并且我知道我可以创建这些文件,并且假设如果我觉得真的需要的话我会这样做)。/var/log/ssmtp.logtouch

答案1

在写这个问题的时候,我明白了问题是什么,我解决了它,然后电子邮件就成功发送了。

前言

要理解我下面的回答,必须确保了解电子邮件数据如何从 CMS(本例中为 WordPress)传输到最终的目的地电子邮件帐户。以下链描述了它:

内容管理系统及其联系表格 (带有 CF7 的 WordPress) → phpmail()函数 → sSMTP邮件传输协议(网络服务)→ 电子邮件代理站(Gmail)→ 最终电子邮件目的地(Gmail);

问题及其解决方案

我的sSMTP上述配置其实没什么问题。问题出在我通过sSMTP(Gmail) 发送数据的电子邮件代理上:

您会看到,在您创建一个电子邮件帐户之后,该帐户将作为通过 SMTP 发送到您的最终目的地电子邮件地址的内容之间的代理(媒介),这个代理对于sSMTP类似工具通常是无用的,除非您在该电子邮件代理本身中启用某些功能!

在我的电子邮件代理 Gmail 中,我必须启用的是“访问不太安全的应用程序”

  1. 我收到一封 Gmail 邮件说“检查被阻止的登录尝试”。我打开邮件,发现如果我允许,Gmail 会批准这些数据的来源 IP 地址。这个邮件地址就是我的 VPS 机器的 IP。

  2. 我允许通过 Google 认为“不太安全的应用程序”发送电子邮件sSMTP。然后我再次尝试从 WordPress 发送电子邮件。这一次,一切顺利。

概括

问题出在 Gmail 方面 --- 我必须在那里启用“不太安全的应用程序的访问”,然后电子邮件才能发送,数据才能到达最终目的地。


笔记

  1. 这有点离题,但当我第一次开始学习时,sSMTP我问自己“如何确保 sSMTP` 可以与多个应用程序一起工作。这里我当时就得到了答案。

相关内容