我在处理从我的 wordpress 网站发送的电子邮件时遇到了问题。一切都来自“info@mydomain.co.za via default@hostingprovider.net”
过孔部分看起来非常不整洁和不专业。根据过去的经验,我知道这与未设置发件人有关。我在 Wordpress 中搜索设置以更改此设置,但无济于事。好像不能设置。
您可以通过将此代码添加到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
因此,经过一番搜索,我设法找到了需要更改的代码。
打开文件:/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 );
这将防止“通过不需要的@host.net”,而不仅仅是来自您。
请注意: 如果您的电子邮件地址与您的域名不同,这可能会导致垃圾邮件问题。IE:
BAD: noreply@example.com and your website is www.mysite.com
GOOD: noreply@mysite.com and your website is www.mysite.com
我希望这可以像我浪费的那样节省一个小时或两个小时。