之前帮客户做了一个网站,他的主机禁用了mail函数,所以无法直接用代码来实现发送邮件功能。这个确实是个难题。
后来网上查了下,有人说的在wordpress登录窗口中,点“忘记密码”来测试mail函数是否正常工作。但实际情况却不是这样,我的主机测试确实支持mail函数,但是使用上面的方法仍然会提示”无法发送电子邮件。可能原因:您的主机禁用了 mail() 函数…”
下面几种方法来自于网络,希望对大家有帮助。有需要的可以拿过去用用看。
使用一个PHP文件来发邮件
在本地新建一个PHP文件取名为mail.php 内容代码如下
<?php $txt = "hello"; // 以下的邮箱地址改成你的 $mail = "somebody@example.com"; // 发送邮件 mail($mail, "My subject", $txt); echo "message was sent!"; ?>
上传到网站根目录,访问下这个文件,他就会自动发送测试邮件到你指定的邮箱。
我测试的时候测试邮件是收到了,但是WordPress的邮件功能始终无法使用。
使用phpinfo()函数
在本地新建一个文件,比如phpinfo.php,内容填上以下代码
<?php phpinfo(); ?>
上传到网站根目录,访问这个文件,会列出详细的PHP信息。查找“sendmail_path”如果值为 /usr/sbin/sendmail -t -i 说明你的mail是正确安装的。
mail是正确安装的,但是WordPress的邮件功能始终无法使用。
使用exists函数判断
新建一个PHP文件,代码如下,上传到网站根目录访问,自然就知道是否支持mail()函数!
<?php if (function_exists(‘mail’)) { echo “支持mail()函数!”; } else echo “不支持mail()函数!”; ?>
主机显示支持mail()函数,,但是WordPress的邮件功能始终无法使用。
利用PHP探针来检测
代码太长,麻烦童鞋亲自下载吧 下载PHP探针
同样,上传后访问这个文件。
将页面拉至底端,在函数检测那输入mail,然后点击右边的“函数检测”按钮,就会提示是否支持mail函数了。
主机显示支持,但是WordPress的邮件功能始终无法使用。
也可以在下方的邮件发送检测中输入你的有效电子邮件地址,然后点击右边的“邮件检测”按钮,然后去你的邮箱看是否有新邮件。
好吧,这里测试的邮件,没有收到,原因未知,其他几项测试完全正常,唯独最后一项收不到邮件。
注:文章参考自http://www.sjyhome.com/linux/if-support-mail.html
评论1