2014-02-09 174 views
0

我正在嘗試將聯繫表單實現到我的網站,但它不工作。我試圖通過this教程來完成。我將$ myemail變量更改爲我的電子郵件地址並試用了它。我收到「謝謝」的消息,但電子郵件從未到來。電子郵件表單不發送電子郵件

我也檢查了本教程的評論,有些人說它的工作原理,有些人說它永遠不會發送電子郵件。我也非常仔細地檢查了代碼,據我所知,它應該發送電子郵件。

它成功獲取電子郵件的變量,並使用他們:

mail($to,$email_subject,$email_body,$headers); 

但爲什麼不工作?

+1

我在提綱的情況下的第一站是郵件服務器日誌 – 2014-02-09 20:13:34

+1

至少有一些因素可能在'mail()'函數是否會發送它的過程中發揮作用。您是否使用共享網絡託管提供商?如果是這樣,根據郵件服務器的當前負載情況,發送郵件的請求發送後,郵件可能會排隊等待大約20分鐘到1小時。這只是一個潛在的失敗點,假設您使用的是共享主機環境。詢問您的託管服務提供商是否可以查看郵件日誌。嘗試做'if(!mail($ to,$ email_subject,$ email_body,$ headers)){print'出現錯誤'; }' – Armin

+4

你是否煩心檢查'mail()'的返回值以查看它是否失敗?你有沒有打擾檢查你的郵件服務器的日誌,看看發生了什麼**後** PHP /郵件完成他們的工作?請記住,PHP /郵件的SOLE工作是把你的電子郵件(例如信封)放到街角並放到郵箱中。在郵箱中查看信封后發生的情況絕對沒有辦法讓php/mail看到。也許郵車從未來過。也許是飛機墜毀和燒燬。也許接收器把它扔進垃圾箱(垃圾郵件......)。 –

回答

1

這是一個樣的mail()和作品好:

 $to ='[email protected]'; 
     $message = '<a>Hellow</a>'; 
     $subject ='Hello world'; 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
$headers .= "From: <[email protected]>" . "\r\n"; 
[email protected]($to,$subject,$message,$headers); 
echo $mail_sent ? "Success" : "Error"; 

如果樣品不工作,呼籲您的服務器管理員檢查服務器...