注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿邮箱:hostvps@88.com。
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 SMTP发邮件
1.1 SMTP设置
网站:
- https://www.whmcs.com/
进入到WHMCS后,在“设置”中选择“邮件”,然后选择使用SMTP发信,一般来说你可以选择465端口+SSL的形式,如下图:
这里我选择了Gmail,对于每天发信量大的建议使用付费的SMTP
1.2 发信错误
在测试时有可能出现错误,我们在日志中可以看到。
详细错误如下:
Email Sending Failed – SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting (Subject: Confirm Your Registration)
1.3 解决问题
一般来说,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,还需要通过以下三个链接地址来解决安全限制。尤其是第三个:
- https://security.google.com/settings/security/activity?hl=en&pli=1
- https://www.google.com/settings/u/1/security/lesssecureapps
- https://accounts.google.com/b/0/DisplayUnlockCaptcha
Google对于新设备登录会要求验证,我们可以手动取消它。
最后,如果SSL发信方式失败的话,可以使用587+TSL来发信,如下图:
WHMCS使用SMTP发信成功。
二、WHMCS中文汉化
网站:
- https://github.com/kaneawk/WHMCS-CN-translations
使用方法:
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定时任务设置
安装完了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的过程中,遇到了邮件模板出错导致邮件死活也发不出去的情况,解决的办法就是学会看邮件日志,然后自己修改邮件模板。
六、WHMCS时区(时间)设置
WHMCS上的时间和服务器上设置的是不一样的,按照他的默认时区显示,因此为了让WHMCS显示的时间和自己的时间一致,需要在配置文件中设置时区。
编辑configuration.php文件,在php区块(?>)最后位置加上
date_default_timezone_set('Asia/Shanghai');
七、总结
WHMCS是一个非常成熟的财务管理系统,从我使用WHMCS与SolusVM的感受来看,WHMCS的官方文档更新很快,并且很完善,反而SolusVM的参考文档不仅陈旧,而且还有不少的错误。
如果你在WHMCS设置SMTP发信、优惠码设置、邮件模板以及定时任务过程中遇到问题,不妨可以先看看WHMCS的相关日志,WHMCS的日志中可以看到详细的错误,这便于我们进行分析。