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

mail($to, $subject, $message, $headers); 

我正在使用此代碼嘗試發送電子郵件。但我已經等了10分鐘,並沒有收到任何電子郵件。我在這裏錯過了什麼?php郵件功能不起作用

+0

外部託管?如果是這樣,它是否允許從PHP發送電子郵件?您是否需要使用自己的域名的電子郵件地址作爲地址? –

+2

您最好在代碼中隱藏該電子郵件,然後將其編入垃圾郵件列表:) –

+0

**本地化太**。我們無法猜測您的服務器配置,並且Stackoverflow已經有足夠的關於mail()函數的黑暗問題。 – mario

回答

4

你的代碼沒有錯:我複製它​​並收到了電子郵件。

也許它被髮送到垃圾箱,也許郵件甚至沒有達到,因爲郵件服務器的IP被禁止。

0

您的託管公司可能沒有啓用郵件()功能,或者您未檢查郵箱中的「垃圾」文件夾。

0

你可以去看一下http://ch.php.net/manual/en/mail.requirements.php頁:

的郵件功能可用,PHP必須在編譯時訪問 sendmail程序您的系統上。如果您使用其他 郵件程序(例如qmail或postfix),請務必使用隨附的sendmail包裝,其中包含相應的 。 PHP將首先在您的PATH中尋找 sendmail,然後在以下位置: /usr/bin:/ usr/sbin:/ usr/etc:/ etc:/ usr/ucblib:/ usr/lib。建議在您的PATH中使用sendmail,建議使用 。此外,編譯PHP的用戶 必須具有訪問sendmail二進制文件的權限。

1

我認爲你使用的是IIS服務器,有時它不支持使用PHP發送郵件並給出錯誤。

爲了克服這個問題,你可以使用下面的代碼中,將用於發送郵件的是PHP頁面:

<?php ini_set("sendmail_form", "[email protected]"); ?> 

將代碼放在這個頁面的第一行,然後寫其他代碼。嘗試一下。

我想你的郵件將從這個頁面發送給你的發件人。