2015-01-13 59 views
0

我有一個電子郵件表單,不工作。我甚至複製並粘貼了確切的語法並插入了我的電子郵件地址。我的錯誤處理說它的工作,但我沒有收到電子郵件。是的,我檢查了我的垃圾郵件。這裏是我的代碼:
PHP的電子郵件發送,但沒有得到它

$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

$mailResult = mail($to, $subject, $message, $headers); 
if($mailResult) { 
echo "Email sent to " . $to; 
} 
else { 
echo "Error sending email"; 
} 

,並在頁面上的結果:

Email sent to [email protected] 

任何幫助嗎?

+0

檢查SMTP是否安裝並通過運行phpinfo()打開; – Neat

+1

僅僅因爲'mail()'返回true,並不意味着郵件實際上被髮送。這只是意味着它被傳遞給系統的郵件處理程序。 「如果郵件成功接收了郵件,返回TRUE,否則返回FALSE。 重要的是要注意,僅僅因爲郵件被接受發送,並不意味着郵件實際上會到達預期的目的地。 – j08691

+0

同時檢查您的郵件日誌,apache日誌和php日誌(如果存在)的輸出 –

回答

-1

你需要打開你的php.ini中的郵件。僅僅因爲該函數返回true並不意味着郵件實際上被髮送。

像這樣:

在php.ini:

[mail function] 
; For Win32 only. 
;SMTP = localhost 
;smtp_port = 25 

; For Win32 only. 
;sendmail_from = [email protected] 

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
sendmail_path = /usr/sbin/sendmail -t -i -f [email protected] 

docs

要注意,只是因爲郵件被接受 傳遞是非常重要的,它並不意味着郵件實際上會到達目的地 。

相關問題