最近,陆续有两位朋友遇到同样的一个问题,新买的linux VPS部署LNMP环境后,安装一个WordPress,文章评论和回复的邮件发件人为:WordPress,而发件人的地址则为WordPress@域名格式。关于如何解决这个问题,修改默认的发件人和发件地址为您指定的名称和地址,之前赵容也遇到过,并且在网络上找到相关的解决方式,这里想起记录下来。
首先,确保我们的LNMP已经能够正常的收发邮件(可以在探针下检测下邮件),以及WordPress后台设定过评论和回复的邮件通知。
其实解决的方法很简单,我们需要给WordPress主题文件中的functions.php增加2个函数,如下图:
在该文件合适的位置插入如下代码:
// 更改默认发信地址
add_filter(
'wp_mail_from'
,
'mail_from'
);
function
mail_from() {
$emailaddress
=
'[email protected]'
;
//你的邮箱地址
return
$emailaddress
;
}
// 更改默认发信人名字
add_filter(
'wp_mail_from_name'
,
'mail_from_name'
);
function
mail_from_name() {
$sendername
=
'ZhaoRong'
;
//你的名字
return
$sendername
;
}
完成后保存,然后再次尝试查看邮件的发件人信息,已经修正了。这个方式,同样适用于PHP虚拟主机遇到同样的问题(windows需要插件支持)。
若您在其他源码中也遇到类似的问题,您也可以尝试修改hostname或者在php.ini中的sendmail_path强制指定邮箱。