首页 > 解决方案 > 我需要在这个插件中为 wp_mail() 设置“Envelope-From”标头,但它不起作用

问题描述

我们托管在 Hetzner 上的 wordpress 网站发送的电子邮件直接进入垃圾邮件,我们在其他网站上使用了一个简单的插件,该插件可以工作,但由于某种原因不能在该网站上使用。

该插件很简单,这就是它的全部内容:

            class email_return_path {
               function __construct() {
              add_action( 'phpmailer_init', array( $this, 'fix' ) );   
               }

            function fix( $phpmailer ) {
                $phpmailer->Sender = $phpmailer->From;
                }
            }

            new email_return_path();

主持人说问题是因为我们没有有效的“信封发件人”和“发件人”,但我该如何添加呢?

标签: wordpressphpmailer

解决方案


前面的答案只是部分正确:setFrom()仅在第三个参数未设置为 false 的情况下设置发送者。不幸的是,这就是 Wordpress 内置函数wp_mail()现在正在做的事情:https ://core.trac.wordpress.org/browser/trunk/src/wp-includes/pluggable.php?rev=47494#L358

另外,Synchro 是正确的,发送者将自动设置,以防电子邮件通过 SMTP 发送。但是,如果使用 PHPmail()函数(我假设这是 Wordpress 的默认设置),即 PHPmailer 使用该mailSend()函数时,情况并非如此。

请参阅https://www.webdezign.co.uk/avoid-wordpress-emails-ending-spam-folder/https://cobbledco.de/set-envelope-from-header-for-wp-mail/如何修理它。


推荐阅读