MENU

因迁移whmcs导致工单邮件和自定义消息等邮件无法发送的问题修复

最近准备买点香港小鸡和美国小鸡,用whmcs弄了个商店,最初放在turnkeyinternet的虚拟主机上,但是因为邮件无法通过smtp发送,无奈自己又掏钱买了个ovh小鸡自己搭建lnmp,但是发现迁移后虽然smtp链接正常,但是仅能发送登录失败等邮件,工单,产品开通,向客户发送消息则无法发送邮件,折腾1小时终于找出问题.

问题起因

在turnkeyinternet的虚拟主机配置smtp服务发送邮件后发现带有邮件功能的页面加载非常缓慢,并且邮箱无法收到邮件,期初感觉可能是smtp服务器的问题(使用sakura域名邮箱,而虚拟主机在美国),然后切换到mailgun和gmail发现均为同样状况,然后打开whmcs的smtp_debug后再次重复发送邮件的操作,页面log输出如下

2019-03-21 02:17:51 SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Email Sending Failed - SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

然后工单联系客服,得到的回复却是说我账户密码写错了的问题,然后我仔细检查了账户和密码确保没有问题后,我决定自己写一个程式进行测试(whmcs的debug等级为2,并不能输出详细的日志),它的log如下:

2019-03-21 06:00:57 Connection: opening to smtp.gmail.com:465, timeout=300, options=array()
2019-03-21 06:00:59 Connection failed. Error #2: stream_socket_client(): unable to connect to smtp.gmail.com:465 (Connection refused) [/home/xxxxxxx/public_html/xxxxxxx/xxxxxxx/mailtest/vendor/phpmailer/phpmailer/src/SMTP.php line 327]
2019-03-21 06:00:59 SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

然后我将日志发送给了客服,然后客服即使是在日志的面前坚持说这是tls/ssl的问题,并让我使用25端口链接smtp服务器,于是我无奈的将端口换为25并将日志发送给他们,然后客服说他们查看了cpanel文章,让我在他们的虚拟主机运行telnet测试(实际上那篇文章说的是让管理员在cpanel所在的服务器进行telnet测试已确保端口打开),我逐渐失去理智.....
最后我选择购买ovh的vps并将虚拟主机一部分重要的服务迁移到ovh的vps上.

问题现象

因为shop新建的,没有任何一个真正的客户,所以没有开维护模式,直接将文件复制到vps上,在虚拟主机导出sql并导入我的vps上的mysql,修改配置文件之后,感觉所有的问题都解决了,第二天将邮箱服务从gmail换成mailgun的时候发现,用户无法收到通过管理员控制面板发送的消息,当时开着stmp_debug,但是却没有日志,并且页面加载很快,于是便去mailgun看了log,发现只有测试失败登录时的邮件记录,没有消息发送的记录,然后我又从管理员面板尝试给用户发送邮箱验证邮件和密码重置邮件,均提示以下错误.

)MJE4L336~{QX1YYOOH_{FQ.png

问题解决

我开始询问我的其它小伙伴,有的小伙伴说需要在whmcs的管理面板设置一些东西,但我浏览了面板内所有的设置,并没有找到有用的线索,我开始根据关键词在google进行搜索,然后我找到了whmcs论坛有相同情况的讨论

https://whmcs.community/topic/293277-an-error-occurred-email-sending-aborted/

然后我再一个人的回答中找到了这句话:"I have corrected these by manually modifying the tblstorageconfiguration table of the WHMCS database via PHPMyAdmin. After resolving the configuration issue I verified that I was able to send email without issue."

于是我检查tblstorageconfiguration表,发现表里有几项配置含有路径信息,有一部分路径包含在字段的json字符串里,这些路径是在turnkeyinternet虚拟主机上时的路径,于是将他们改为迁移后的路径,然后再去whmcs进行邮件测试,发现问题解决.

添加新评论

已有 4 条评论
  1. ```
    当时开着 stmp_debug, 但是却没有日志
    ```
    有错别字@(哈哈)

    1. @zhensjokeそんな事どうでもいいじゃん

  2. 沙师弟 沙师弟

    您好,我也是相同的问题。能不能具体说一下修改的是哪部分路径。
    谢谢@(哈哈)

    1. @沙师弟修改和搬遷後所有和實際不符合的路徑