Updated:此问题已经在2.3.3中被修复。 

*****************************

前几天,将Wordpress从2.3升级到2.3.1后,发现WP内置的邮件提醒功能失效了。具体表现在为,新评论来的时候,无法邮件提醒,以及wp backup无法定时将数据库备份发送到指定邮箱中等等。相关调用WP内置的mail发送功能的插件都无法使用。

曾Wordpress论坛上发帖谈到此问题,遗憾的是,网友建议的方法,都不管用,我曾经在WordPress Trac上,对比2.3和2.3.1修改的修改内容,按论坛中建议的方法,一个个将修改的文件下来后,覆盖到2.3版,然后再将修改后的文件覆盖到站上的WP。问题仍然存在。且,在中文论坛上发帖,并没有见网友参与讨论,也没有见其他人对此问题发帖,估计可能还没有几个人有碰到类似的问题。所以姑且称之为,可能出现该问题。

在WP的官方论坛上,搜索了一下。找到了一篇类似问题的求助帖。可惜,也是无果。(最终的解决方法,嘿嘿,还是我发的。)

对照着Trac上面刊载着的2.3和2.3.1 wp-mail.php的不同处。却不认为,是这些新增的代码造成邮件无法发送。 

上午,无意中,看到Peter westwood的一篇文章”WordPress 2.3.1 in detail“,里面介绍了2.3.1具体改进的项目。The Sender is set on emails to help on hosts that limit which email addresses can send (#5007). 然后又跟着看#5007的内容。这才找到了原因所在。因为2.3.1内增加了对邮件发送者的定义。

找到问题症结后,解决方法也很简单,用文本编辑器打开位于wp-includes目录下的pluggable.php,跳到line228,

$phpmailer-> Sender = apply_filters( ‘wp_mail_from’, $from_email ); 

 

正是该行造成了内置邮件发送功能失效。直接删除此行,或者在行首加上注释代码:”//”。如

//$phpmailer->Sender = apply_filters( ‘wp_mail_from’, $from_email ); 

 

将修改后的pluggable.php重新上传都网站。然后您就发现一切OK了。

 

Feed Me


转载文章请注明转载自:ThinkAgain - Let's Blog!

引用地址:http://www.thinkagain.cn/archives/830.html