2013-04-25 28 views
0

設置PHP的郵件()我設置了一個電子郵件形式的網站和郵件()函數只是拒絕工作的問題。服務器正在運行Plesk。我確定代碼很好,因爲它在不同的Web服務器上運行時沒有問題。有對的Plesk

我已經建立了一個沒有回覆的電子郵件帳戶,並添加了從頭部,但還是沒有解決問題。這裏是我的代碼:

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

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

任何想法?

感謝, 伊利安

+0

'phpversion()'在哪裏發揮作用?這不是一個功能嗎?似乎之後沒有任何東西叫它,可能會因爲它而停下來。雖然不是100%肯定的。 – 2013-04-25 17:53:35

+0

這是,它只是確保頭文件正確傳遞。真的沒有太大的區別,但是沒有它,它仍然不會發送任何東西。 – 2013-04-25 17:56:00

+0

就像你說的,你的代碼很好,不知道爲什麼它不起作用。 – 2013-04-25 17:58:14

回答

0

代碼本身是不夠的判斷。發送郵件將取決於

  1. PHP代碼(它似乎確定)
  2. PHP配置(它是未知的)。您的服務器上的PHP可以配置爲通過命令行(sendmail工具)或通過SMTP發送。在遠程SMTP或通過sendmail的工具本地非授權交貨(這可能會被停止,以防止發送垃圾郵件)的可用性,即認證模式
  3. - 更多的細節可以從郵件()函數的說明在PHP文檔
  4. 設置MTA(未知)學習
  5. 在郵件服務器的遠程SMTP連接可用性的情況將是重要

我會建議您檢查所有stages.The代碼本身只是許多因素 之一,當網絡通信參與。

+0

您好,我將檢查這些東西,關於它的非常奇怪的是,大多數的郵件都經過..但一個嚴重的延遲,有時甚至超過10小時。 – 2013-04-26 16:40:13

+0

從我的角度來看,它樣張你的代碼行和PHP配置沒問題,但MTA配置看起來很奇怪 – 2013-04-29 11:15:07

+0

嗯,好的,謝謝你,我會盡力與公司取得聯繫,看看他們對此有何評論。 – 2013-04-29 22:17:54