Typecho在万网虚拟机中不能使用smtp的解决方法

笔记
2729 3

评论邮件通知插件CommentToMail在本地调试一切正常,但上传服务器后,发送邮件一直失败。在确认配置没有出错后就只能在网络中寻找解决方法了。

在网上找了找,说是万网的服务器关闭了fsockopen函数。在万网的主机管理里的高级管理里面有个php函数设置。将默认关闭的fsockopen函数开启即可。

照做后再测试,还是发送邮件失败。没办法了,那就继续找……

Typecho关于这个的网上资料比较少,不过看到好多WordPress解决这个问题的方法。想着Typecho和WordPress也算是一脉相承,或许这解决方法可以通用,没想到一试还真可以。具体方法如下:
打开CommentToMail/lib/class.smtp.php文件,找到以下代码:

 $this->smtp_conn = @stream_socket_client(
      $host . ":" . $port,
      $errno,
      $errstr,
      $timeout,
      STREAM_CLIENT_CONNECT,
      $socket_context
        );

大概在211行--218行,将其更换为

 $this->smtp_conn = fsockopen($host, $port, $errno, $errstr);

然后再去测试一下,大功告成!

特别感谢: 万网虚拟机不能使用smtp的问题解决方法解决万网x3主机不支持SMTP插件发邮件问题

最后更新 2017-12-18
评论 ( 3 )
OωO
隐私评论
  1. 香菇,蓝瘦,折腾了一天这个插件还是没弄好,SMTP链接老是不成功

    8年前浙江省杭州市回复
  2. 这绝对是个好帖子,值得推广。

    9年前山西省太原市回复
    1. @孙华

      没什么技术含量的,只是把已有的资源整合了一下罢了!

      9年前甘肃省庆阳市回复