phpcms郵件發送失敗怎麼辦?
phpcms郵件發送失敗的原因:
1: 最好的就是使用企業郵箱,(使用普通不知為啥不成功)
2:如果本機測試成功,伺服器上測試失敗,可能是伺服器設定停用fsockopen函數的原因
透過phpinfo查看disable_functions項目是否有fsockopen,如果有,說明就是這個問題。
解決方法:
打開:phpcms\modules\member\classes\client.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:有些主機商會停用fsockopen函數功能,為了防止駭客利用程式漏洞注入後使用 fsockopen 進行PHPDDOS 攻擊。
fsockopen函數與pfsockopen函數,差異在於 pfsockopen 保持 keep-alive,使得駭客無法進行 連線數攻擊。
PHP中文網,大量的免費PHPCMS教學,歡迎線上學習!
以上是phpcms郵件發送失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!