我的Wordpress电子邮件都没有发送到Gmail。更多信息:
EXIM日志表示该电子邮件已成功发送到Gmail,但不会发送或通过垃圾邮件发送。
答案 0 :(得分:0)
问题是综合因素:
Sender
标题Sender
标题,则很可能会默默地丢弃它,或将其作为垃圾邮件发送。Sender
标题一旦你知道这些,修复就很简单了。如果您使用的是Wordpress,快速而肮脏的方法是转到wp-includes/pluggable.php
,查找wp_mail()
函数搜索:
$phpmailer->From = apply_filters( 'wp_mail_from' , $from_email );
然后在它之后添加以下内容:
$phpmailer->Sender = $phpmailer->From;
一旦你这样做,电子邮件就会起作用,你可以通过编写插件以正确的方式解决问题,而不会覆盖核心。 Wordpress使用phpmailer知道这个问题,但wordpress不使用它。此问题上还有bug report。
要使用核心mail()功能解决问题,您必须执行以下操作:
// $sender can be the same email address as the From header
mail($to, $subject, $message, $additional_headers, "-f {$sender}")
还有另一个选项可能会有效,具体取决于您服务器的配置(我无法测试它,如果有人可以测试它,我会很高兴):
$sendmailFrom = ini_get('sendmail_path');
ini_set('sendmail_path', $sendmailFrom . ' -f sender@mysite.com'); // or whatever you want
答案 1 :(得分:0)
Gmail(最终可能是Hotmail和Yahoo)starting to disable traditional SMTP authentication mechanisms(PLAIN,LOGIN和CRAMMD5)支持OAUTH2。
如果您单独使用WordPress(PHPMailer)发送邮件,Gmail会将其丢弃或将其标记为垃圾邮件。如果您使用典型的WordPress SMTP插件发送邮件,Gmail会向您发送身份验证错误,或者让您跳过应用专用密码,双因素身份验证以及启用安全性较低的应用作为帐户设置等环节。
为WordPress实现OAuth 2.0的第一个插件(免责声明,我是作者)是Postman SMTP。如果端口TCP 465允许与Gmail的出站连接,邮递员将无错误地发送您的WordPress电子邮件。