一、contact form 7無法發送郵件的原因
對mail()函數的不支持。
Contact Form 7表單提交失敗在使用過程中會出現,歸根結底原因在於wordpress主機問題,由於國 內很多主機並不是wordpress專用主機,采用的是所謂的全能WIN+IIS+PHP,而這樣的環境很少支持wordpress本身的mail()發 送郵件函數。所以導致Contact Form 7表單提交失敗的原因。這也引出WP Mail SMTP設置問題。
二、解決方法
解決這個問題有兩點
1、下載一個插件WP-Mail-SMTP 提供支持
2、修改wp-content\plugins\contact-form-7\includes\mail.php(這個如果1中無法解決,就需要2)
具體步驟:
1)下載WP-Mail-SMTP插件
2)設置SMTP插件
下面是163郵箱的
注意:這里的Username就是你郵箱的完整地址,如123@163.com
這里的Password就是你郵箱的密碼啦
3) 測試郵件回復功能
在WP-Mail-SMTP設置最后一項,寫上你要寄的郵箱地址進行測試。
如果點擊發送后,提示如下,說明SMTP插件啟動成功
Test Message Sent
The result was:
bool(false
……………………
……………………
接着,打開目標郵箱,馬上就可以看到郵件了,這樣就表示你的插件成功啟用了。你就可以使用該郵箱來實現許多wordpress具有的郵件功能了。
PS:如果你在3、測試的時候沒有成功收到郵件,在點擊發送后出現的代碼的最下邊有如下
Test Message Sent
The result was:
bool(false
……………………
……………………
SMTP -> ERROR:Failed to connect to server:
那么我們就要進行解決方法中的2、
打開:wp-content\plugins\contact-form-7\includes\mail.php
查找:$headers = “From: $sender\n”;
更改為:$headers = “From $sender\n”;
如此這般就得以解決了。
【一個SMTP插件+修改plugin插件的mail.php文件】