2011-09-23 179 views
0

http://www.raymondselda.com/php-contact-form-with-jquery-validation/PHP聯繫表格問題

我嘗試一些不同的接觸形式,包括上面的一個。

我有此頁上運行:http://themeforward.com/demo2/features/contact-form/

問題是這樣的形式,沒有成功發送電子郵件的地址代碼(完成的代碼可以在這裏找到:http://www.raymondselda.com/php-contact-form-with-jquery-validation/

不有人知道問題可能是什麼?

//If there is no error, send the email 
    if(!isset($hasError)) { 
     $emailTo = '[email protected]'; //Put your own email address here 
     $body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nComments:\n $comments"; 
     $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; 

     mail($emailTo, $subject, $body, $headers); 
     $emailSent = true; 
+0

你會得到什麼錯誤信息?您是否正確配置了您的郵件客戶端? –

+0

你在你的php.ini中設置了sendmail/smtp嗎?它是否提供任何錯誤消息?我認爲需要一些進一步的信息來幫助您 – klaustopher

+0

如果您使用託管網站計劃,某些主機會將發件人地址限制爲來自您的域的有效電子郵件地址以防止垃圾郵件,例如,允許您發送電子郵件,就像您是另一個人......這就是你在這裏做的事情。 – jwatts1980

回答

3

原因很多:

  1. 郵件是不是你的服務器上正確配置。如果無法將電子郵件切換到SMTP服務器,則mail()將返回布爾值FALSE。你不檢查該條件
  2. 的SMTP服務器未正確配置,讓您可以通過它
  3. 接收器服務器的發送服務器列入黑名單
  4. 電子郵件將被視爲垃圾郵件,並且正在丟棄發送

首先要看的是mail()的返回值。然後去看看你的SMTP服務器的日誌,看看一旦PHP把它交給了電子郵件(如果)會發生什麼。 SMTP服務器的日誌還會說明接收服務器是否反彈/拒絕它。

如果它悄無聲息地丟在接收方服務器上的垃圾郵件文件夾中,那麼您將不會有任何證據證明這一點,您將不得不在接收方進一步調查。

電子郵件是一個複雜的業務,許多許多的步驟,每個人都必須正確工作。沿線和電子郵件的任何故障都可能消失。你必須調查在這些階段發生的事情,找出爲什麼沒有交付。

+0

如果聯繫表單插件工作不會表明這是代碼的問題?我可能會離開...... – siouxfan45

+0

就像我說的,涉及到很多層,表單的處理代碼只是其中的一個。 –