一、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插件
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5iMilDNmFGN2EWNykTMzMGMzMjZwUmMllTOwUjZ1EjM18CX2IzLchDMvwFNxAjMvwFcvwVZslmZvwFZvwlbj5yNoRnL3d3dvw1LcpDc0RHaiojIsJye.jpg)
下面是163郵箱的
注意: 這裡的Username就是你郵箱的完整位址,如[email protected]
這裡的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檔案】