2011-10-19 33 views
0

我的腳本通過PHP發送電子郵件不起作用,我不知道爲什麼,因爲沒有具體的錯誤。請告知:發送郵件與PHP不工作

[email protected]被替換爲我的真實電子郵件地址。

udrew_email("[email protected]", $_REQUEST["txtEmail"], "Gears Message", $_REQUEST["txtName"], $_REQUEST["txtMessage"]); 

<?php 
function udrew_email($strTo, $strFromEmail, $strSubject, $strFromName, $strBody) 
{ 
$strHeaders = "From: " . $strFromName . "<" . $strFromEmail . ">" . "\r\n"; 
if (mail($strTo, $strSubject, $strBody, $strHeaders)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed.</p>"); 
} 
} 
?> 

我得到「消息傳遞失敗」。

我也嘗試將常量放在所有變量中,而不是從表單請求。

任何幫助,將不勝感激。謝謝。

+0

你配置了服務器發送郵件嗎? – JJJ

回答

1

如果無法將電子郵件處理到smtp服務器,則mail()將返回false。在unix上,這將是本地的sendmail/postfix/exim。在Windows上,無論在php.ini SMTPsmtp_port選項中配置了什麼smtp服務器。

這可能是因爲smtp服務器未運行或錯誤配置。這也可能是因爲電子郵件形式太糟糕了,服務器甚至在沒有嘗試向前發送的情況下拒絕它。

+0

這絕對是一個問題。我已經配置它,但仍然得到相同的錯誤。排除故障的下一步是什麼? – O1DMBFan

+1

檢查郵件服務器日誌以瞭解郵件被拒絕/退回的原因? –

0

檢查並確保您的郵件服務器正在運行,並且您已安裝並設置了一個郵件服務器。如果是,則檢查郵件服務器的日誌文件。