我一直无法收到我从wordpress网站发送的电子邮件。一切都来自“info@mydomain.co.za via default@hostingprovider.net”
通道部分看起来非常不整洁且不专业。根据过去的经验,我知道这与发件人没有设置有关。我在Wordpress中搜索了更改此设置,但无济于事。似乎无法设置。
答案 0 :(得分:2)
您可以通过将此代码添加到functions.php(或将其放入插件)来自动设置发件人:
# set the sender after PHP builds the phpmailer object during a wp_mail call
add_action( 'phpmailer_init', 'my_phpmailer_init' );
function my_phpmailer_init( $phpmailer ) {
$phpmailer->Sender = $phpmailer->From;
}
这与Talon的答案具有相同的效果,但避免编辑核心Wordpress文件。通过这种方式,Wordpress升级可以保留更改。
https://codex.wordpress.org/Plugin_API/Action_Reference/phpmailer_init
答案 1 :(得分:1)
因此经过一些搜索后,我设法找到了需要更改的代码。
打开文件: /wp-includes/pluggable.php
找到如下所示的行:
// Plugin authors can override the potentially troublesome default
$phpmailer->From = apply_filters( 'wp_mail_from' , $from_email );
$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name );
并添加以下内容:
$phpmailer->Sender = apply_filters( 'wp_mail_from' , $from_email );
所以它现在应该是这样的:
// Plugin authors can override the potentially troublesome default
$phpmailer->From = apply_filters( 'wp_mail_from' , $from_email );
$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name );
$phpmailer->Sender = apply_filters( 'wp_mail_from' , $from_email );
这将阻止“via unwanted@host.net”并且不会仅仅来自你。
<强>要注意:强> 如果您的电子邮件地址与您的域名不同,这可能会导致垃圾邮件问题。 即:
BAD: noreply@example.com and your website is www.mysite.com
GOOD: noreply@mysite.com and your website is www.mysite.com
我希望这可以节省一两个小时,就像我浪费的那样。