• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

关于WordPress 主题SMTP服务异常解决方案

Wordpress admin 3年前 (2015-05-30) 1604次浏览 0个评论 扫描二维码

WordPress 的环境是 LNMP 环境,在探针里测试发送邮件,失败了。已经确定 mail()函数是开启的,于是乎,Google 一下,发现 李思章 的方法不错,Mark 一下。

注意

博主自己使用的是 Vultr 的 Vps,Vultr 为了最大程度的防止 Ddos 的攻击自己关闭了很多端口,其中就包含了 25 端口。

然后博主就开始联系客服了,Vultr 的客服相当不错,回复速度很快~


现在博主的 Vps 中的 SMTP(port 25)就正常使用了~开森~现在开始正式分析这个问题的根源适用于大部分情况了~

错误分类

  1. php 中 mail 函数异常
  2. php 中 mail 函数无异常
  3. 主机 smtp 服务异常

php 异常测试

WordPress 发送邮件的原理很简单,它是通过 PHP 中的 mail()函数来实现的,所以我们首先要解决的就是测试服务器对 mail()函数的支持情况,小拼提供三种解决方案,随你喜欢。

1)新建一个 PHP 文件,命名为 mail_test.php,加入以下代码:

<?php phpinfo(); ?>

将 mail_test.php 上传至网站根目录,访问该文件,就可以看到你的服务器 PHP 详细配置信息了,其中的sendmail_path组件,如果值是-t -i,则说明你的服务器支持 mail()函数。

2)在上面的 mail_test.php 文件中,加入以下代码:

<?php
$text = "This is a test!";
// 将邮箱地址改成你的
$mail = 'xpsem2010@gmail.com'; 
// 发送邮件
mail($mail, "Mail Test", $text);
echo "Message has been sent !";
?>

同上,访问 mail_test.php 文件,如果你的邮箱收到名为 Mail Test 的新邮件,那表示你的服务器是支持 mail()函数发送邮件的。

3)在 mail_test.php 中加入如下代码:

<?php
if (function_exists('mail')) echo "^_^ mail()函数可以使用!";
else echo "- -! mail()函数不可以使用!";
?>

以上三种方法,就可以准确地测试出你的服务器对 mail()函数的支持情况了。

主机 smtp 服务异常

没有安装或启动 sendmail 组件

解决办法

我是新手,命令不熟,所以写的很详细,老鸟勿喷哦

1.重新安装 sendmail 组件,我用的是 CentOS ,使用下面的命令安装

1
yum install sendmail

2.使用下面的命令重启 php-fpm 进程

1
/etc/init.d/php-fpm restart

3.检测 sendmail 是否运行正常

1
/etc/init.d/sendmail status

如果显示正在运行 running 就可以。

可能用到的命令

1
2
3
4
5
/etc/init.d/sendmail start (启动 sendmail)
 
/etc/init.d/sendmail stop  (关闭 sendmail)
 
/etc/init.d/sendmail restart (重启 sendmail)

4.配置 php.ini,填写 sendmail 的绝对路径

使用命令打开编辑 php.ini

1
vi /usr/local/php/etc/php.ini

输入?sendmail_path 查找定位(或者手动跳转找到 sendmail_path),你会发现默认是下面的代码

1
;sendmail_path =

按 i 进入编辑,将这行修改为

1
sendmail_path = /usr/sbin/sendmail -t -i

按 Esc 键退出编辑,输入 :wq 保存退出

5.重启 php-fpm 进程

1
/etc/init.d/php-fpm restart

主题 SMTP 账号配置

 

因为博主的域名是万网购买的,当时万网在做活动因此可以免费注册阿里云企业版邮箱且万网的域名自动解析了阿里云邮箱,因此在博主的主题之中就选择了阿里的邮箱来作为发送的邮箱,接收的邮箱使用的是 126 邮箱。

 


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于 WordPress 主题 SMTP 服务异常解决方案
喜欢 (0)
admin
关于作者:

您必须 登录 才能发表评论!