阿里云(Nginx)服务器环境.flarum论坛发送邮件失败.提示网络不太顺.500 Internal Server Error
五一三天没什么事,就折腾了一下自己阿里云服务器
用自己的服务器搭建了一个blog网站和一个flarum论坛,过程中遇到了一些问题.基本上在flarum.ga网站找到了答案.本篇文章就介绍其中遇到的一个邮件发送失败的问题吧
flarum论坛发送邮件失败.环境阿里云(Nginx)服务器.提示网络不太顺.
打开flarum debug 提示
500 Internal Server Error
详细报错如下:
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哈哈~真的能通呢.
最后修改了一下flarum后台设置,发送邮件测试一下.果真可以发送.
over~
@版权归
北极熊猫
所有 转载请注明原文链接