phpcms郵件發(fā)送失敗怎么辦?
phpcms郵件發(fā)送失敗的原因:
1: 最好的就是使用企業(yè)郵箱,(使用普通不知為啥不成功)
2:如果本地測(cè)試成功,服務(wù)器上測(cè)試失敗,可能是服務(wù)器配置禁用fsockopen函數(shù)的原因
通過(guò)phpinfo查看disable_functions項(xiàng)是否有fsockopen,如果有,說(shuō)明就是這個(gè)問(wèn)題。
解決辦法:
打開(kāi):phpcmsmodulesmemberclassesclient.class.php,
把78行的: if(!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
改為: if(!$fp = pfsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
即把fsockopen改為pfsockopen。
PS:有些主機(jī)商禁用fsockopen函數(shù)功能,為了防止黑客利用程序漏洞注入后使用 fsockopen 進(jìn)行PHPDDOS 攻擊。
fsockopen函數(shù)與pfsockopen函數(shù),區(qū)別在于 pfsockopen 保持 keep-alive,使得黑客無(wú)法進(jìn)行 連接數(shù)攻擊。
PHP中文網(wǎng),大量的免費(fèi)PHPCMS教程,歡迎在線學(xué)習(xí)!