WHMCS是一个非常强大的财务管理系统,由于我在搭建其云否主机时用WHMCS对接SolusVM,发现在使用WHMCS时遇到了不少的问题。第一个问题就是WHMCS改用SMTP发信。默认的可以使用WHMCS的PHP发信,但是发出的信多数被各大邮件商扔进了垃圾箱中。
所以,WHMCS最好是使用SMTP发信。不过,WHMCS有个毛病就是设置了SMTP发信后,没有像WordPress第三方SMTP发信那样,可以提前测试一下,这导致在调试问题的过程中遇到很大的阻力。本篇文章就来分享一下我设置WHMCS SMTP发信的问题及解决办法。
另外,WHMCS还有一个定时任务设置的问题,如果你是将WHMCS安装在虚拟主机上,那么需要到虚拟主机添加定时任务。如果你是安装在VPS主机上,那么还需要到VPS中设置Cron定时任务。如果不注意PHP环境,直接使用默认的命令很容易出现不执行的情况。
总之,在使用WHMCS前还是建议先查阅一下WHMCS的官方文档,这样在使用的过程中不至于出现WHMCS低级错误。更多的关于WHMCS使用方法,可以参考专题:WHMCS从入门到精通。更多的关于WHMCS整合的教程有:
PS:2019年4月3日更新,WHMCS开源的支付网关可以看看这里:WHMCS支付网关-开源免费的WHMCS支付宝,微信和有赞插件安装与使用。
网站:
进入到WHMCS后,在“设置”中选择“邮件”,然后选择使用SMTP发信,一般来说你可以选择465端口+SSL的形式,如下图:
这里我选择了Gmail,对于每天发信量大的建议使用付费的SMTP,详情查看:国内外企业(域名)邮箱汇总。
在测试时有可能出现错误,我们在日志中可以看到。
详细错误如下:
Email Sending Failed – SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting (Subject: Confirm Your Registration)
一般来说,25端口基本上被各大主机商已经关闭了,465端口可以自己在防火墙中打开,命令如下:
/sbin/iptables -I INPUT -p tcp --dport 465 -j ACCEPT
/sbin/iptables -I OUTPUT -p tcp --dport 465 -j ACCEPT
保存/etc/rc.d/init.d/iptables save
重启服务service iptables restart
,查看需要打开的端口是否生效?
/etc/init.d/iptables status
然后再使用SMTP的465SSL连接方式发信即可。如果安装的CSF防火墙,在csf.conf文件里,修改PORTFLOOD配置,加上465的出和入就OK。一般CSF防火墙默认的是开放了465的入站,但是没有开放出,所以要配置下。修改后保存,然后csf -r ,重启,就OK了。
上面方法wzfou.com还没有解决,于是我在configuration.php中添加:
$smtp_debug = true;
这时候就可以看到详细的错误信息了。对于Gmail,还需要通过以下三个链接地址来解决安全限制。尤其是第三个:
Google对于新设备登录会要求验证,我们可以手动取消它。
最后,如果SSL发信方式失败的话,可以使用587+TSL来发信,如下图:
WHMCS使用SMTP发信成功。
网站:
使用方法:
1. Upload lang/chinese-cn.php to your whmcs_install_dir/lang/ path.
if you current use WHMCS v6.3.0 or higher, you should rename original chinese.php to chinese-tw.php manually. Because original chinese.php was a Traditional Chinese edition.
2. Upload admin/lang/chinese-cn.php to your whmcs_install_dir/admin_dir/lang/ path.
3. Sign out your admin account, then choose Chinese language on login page.
4. Click the "My Account", Change language to Chinese, Enter your admin password at "Confirm Password" line, at last click "Save Changes" button.
5. Goto "Setup > General Settings", click "Localisation" tab, set "Default Language" to Chinese, at last click "Save Changes" button.
中文汉化的效果见:qyfou.com,如下图:
安装完了WHMCS后,一般会给出一段定时任务的代码,要求你添加:
php -q /home/wzfou.com/admin/cron.php
如果是VPS主机,请执行以下命令:
crontab -e
php -q /home/wzfou.com/admin/cron.php
#如果不执行,请加上环境变量
01 1 * * * /usr/local/php/bin/php -q /home/wzfou.com/admin/cron.php
如果是虚拟主机,以Cpanel为例,可以在定时任务中添加。
如果一切正常的话,你在WHMCS的定时任务状态就可以看到正确执行的情况了。
WHMCS优惠码可以在付款中查看。循环优惠码。选中这个就可以每次续费也可以享受优惠。
WHMCS优惠码可以专门设置针对升级或者降级的。
我在使用WHMCS的过程中,遇到了邮件模板出错导致邮件死活也发不出去的情况,解决的办法就是学会看邮件日志,然后自己修改邮件模板。
WHMCS上的时间和服务器上设置的是不一样的,按照他的默认时区显示,因此为了让WHMCS显示的时间和自己的时间一致,需要在配置文件中设置时区。
编辑configuration.php文件,在php区块(?>)最后位置加上
date_default_timezone_set('Asia/Shanghai');
WHMCS是一个非常成熟的财务管理系统,从我使用WHMCS与SolusVM的感受来看,WHMCS的官方文档更新很快,并且很完善,反而SolusVM的参考文档不仅陈旧,而且还有不少的错误。
如果你在WHMCS设置SMTP发信、优惠码设置、邮件模板以及定时任务过程中遇到问题,不妨可以先看看WHMCS的相关日志,WHMCS的日志中可以看到详细的错误,这便于我们进行分析。
文章出自:挖站否 https://wzfou.com/whmcs-smtp-cn/,版权所有。本站文章除了注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
文章更新于: %s = human-readable time difference 下午7:55
查看评论
Qi,发邮件时导致网站很慢/卡死怎么办
用国外的邮局就可以了,我发现国内的机子连接国外的邮局很慢。
其实国外的空间好像都无法使用SMTP,几乎都把端口给封掉了。
qi,你有没有遇到每次自动任务执行然后回给你发邮件汇报,用户创建订单激活服务都会发送。有点烦官方文档也没这部分 感觉玄学呀
有的,一天一次,说是什么域名同步服务,可是我没有开通这类的服务。
域名那个同步我都管了的,现在是有个触发是 用户从创建订单到付款再到服务激活,都会发邮件 ,一个环境一封,有点心疼邮件额度[可怜]还心疼收件箱
这个都会发送的,我还真没注意过在哪里取消,好像不能