阿里云(Nginx)服务器环境.flarum论坛发送邮件失败.提示网络不太顺.500 Internal Server Error

Posted by MaxBear 5 years ago

阿里云(Nginx)服务器环境.flarum论坛发送邮件失败.提示网络不太顺.500 Internal Server Error

五一三天没什么事,就折腾了一下自己阿里云服务器

用自己的服务器搭建了一个blog网站和一个flarum论坛,过程中遇到了一些问题.基本上在flarum.ga网站找到了答案.本篇文章就介绍其中遇到的一个邮件发送失败的问题吧

flarum论坛发送邮件失败.环境阿里云(Nginx)服务器.提示网络不太顺.

网络不太顺畅

打开flarum debug 提示 500 Internal Server Error

500

详细报错如下:

debug详情

POST http://xx.xx.xx.xx/api/forgot

{
  "errors": [
    {
      "code": 500,
      "title": "Internal server error",
      "detail": "exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.mxhichina.com [Connection timed out #110]' in 根目录/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:269\nStack trace:\n#0 
            根目录/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(62): Swift_Transport_StreamBuffer->_establishSocketConnection()\n#1 
            根目录/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(113): Swift_Transport_StreamBuffer->initialize(Array)\n#2 
            .......
        }
}

开始怀疑是后台邮箱配置的问题检查了好几遍.因为害怕填错直接从另外台服务器把配置复制过来的.结果还是报错500.

然后去flarum.ga网站看到差不多的问题 然后去修改了在vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php 266行代码 发现还是同样的问题. 正在纠结的时候,仔细看了一下评论区,别人是可以telnet通端口的.然后赶紧去用Telnet命令测试一下. 发现telnet命令根本没法用啊.WTF. 然后就装telnet客户端

下面是Centos安装telnet的命令

查看telent是否安装:

rpm -qa | grep telnet

查看yum源上telnet有哪些软件可安装:

yum search telnet

telnet服务端:telnet-server

telnet客户端:telnet

安装

注意,需要root权限来安装

yum -y install telnet-server

yum -y install telnet

安装好之后telnet了一下smtp.qq.com,smtp.163.com,smtp.mxhichina.com的25端口.发现都不通啊.

去阿里官网搜索了一下

阿里云服务器25端口是禁用的

然后问了一下服务器镜像供应商,说的确是25号端口是禁用的(燃鹅我另一台服务器是开发的啊,另一台是apache的) 搞了半天原来是阿里云的问题. 既然用不了25号端口用不了.只有2种选择了.一种nginx反向代理(设置比较复杂,直接放弃O(≧口≦)O) 那就最后一条路了,换端口呗. 然后telnet 465端口,O(∩_∩)O哈哈~真的能通呢.

telnet阿里云邮箱

最后修改了一下flarum后台设置,发送邮件测试一下.果真可以发送.

flarum邮箱配置

over~

@版权归 北极熊猫所有 转载请注明原文链接

原文链接 https://www.bear777.com/blog/flarum-nginx