Godaddy的Linux空间无法发送通知邮件的原因及解决办法

    前面一篇是《解决Godaddy的windows空间不能发送wordpress评论通知mail的办法》,其实原来的标题没有“Windows空间”这几个字,我原来在自己的Linux空间上测试发送通知邮件,未能成功,误以为Godaddy的空间都不能支持mail函数。刚刚测试了一下,Linux主机是支持发送邮件的。

测试方法是:

<?php
$txt = "hello";

// 以下的邮箱地址改成你的
$mail = 'test@test.com';  

// 发送邮件
mail($mail, "My subject", $txt);

echo 'message was sent!';
?>

将以上代码保存为testmail.php并上传到空间根目录,在浏览器中输入http://你的网站地址/testmail.php,然后到邮箱中(99%会在垃圾邮件中)检查测试邮件。基于这个测试,可以证明Godaddy的Linux主机空间是可以发送邮件的,发送通知邮件不成功的原因又是什么呢?再次祭出Google大神,找到了下面这边文章:《WordPress邮件配置小发现:GoDaddy主机邮件主题长度太“小气”》,在此感谢这篇文章的作者Miracle。

简单的说,就是Godaddy对邮件主题长度有限制!!邮件主题超过一定长度就会发送失败。解决的办法是

  1. 打开 wp-includes/pluggable.php
  2. 找到第1157行(WordPress3.03中文版)

    @wp_mail($admin_email, $subject, $notify_message, $message_headers);

  3. 修改为

    @wp_mail($admin_email, “New Comment!”, $notify_message, $message_headers);

这样如果有新的评论,就会有一封主题为“New Comment!”的邮件发送到邮箱中了。