2012-02-08 81 views
0

這是我的代碼,我很新的PHP。所以,我不知道錯誤在哪裏,爲什麼它不發送電子郵件.. 有以下代碼,它不發送電子郵件。事實上,它只是顯示界面。當我點擊按鈕時,它不會執行任何操作。我正在使用Wamp Server和Dreamweaver。請任何機構提供幫助。發送電子郵件,在PHP通過Gmail

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>EmailForm</title> 
    <style type="text/css"> 
    body { 
    margin-left: 10px; 
    margin-top: 10px; 
    background-color: #FFF; 
     } 
     body,td,th { 
    color: #666; 
     } 
     </style> 
    <?PHP 
    if(isset($_POST['Submit1'])) 
    {$Email=$_POST['Email']; 
     $Comments=$_POST['Comments']; 

     $headers = 'MIME-Version: 1.0' . "\r\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
     $headers .= ‘From: [email protected]' . "\r\n"; 

     if(mail('[email protected]','Hello',$Comments,$headers)) 
     {echo("Your Email is sent successfully"); 
     } 
     Else 
     {echo("Email Sending Failed");} 
     } 
     ?> 
      </head> 

     <body text="#999999"> 
     <form id="EmailForm" name="EmailForm" method="POST"action="file:///E|/Sites/EmailForm.php"> 
     <table width="450px"> 
    <tr><td valign="top"> 
    <label>First Name *</label></td> 
    <td valign="top"> 
    <input name="FName" type="text" size="30px" /></td></tr> 
    <tr><td valign="top"> 
    <label>Last Name *</label></td><td valign="top"> 
    <input name="LName" type="text" size="30px"/> 
    </td></tr> 
    <tr><td valign="top"> <label>Email Address *</label></td><td valign="top"> 
    <input name="Email" type="text" size="30px"/></td></tr> 
    <tr><td valign="top"> 
     <label>Comments *</label></td><td valign="top"> 
    <textarea name="Comments" cols="25" rows="5"></textarea></td></tr> 
    <tr><td colspan="2" style="text-align:center"> 
    <input name="Submit1" type="Submit" value="Submit" style="color:#000" /></td></tr> 
    </table> 
    </form> 


    </body> 
    </html> 
+0

第21行的語法錯誤: $ headers。='From:[email protected]'。爲 「\ r \ n」 個; 應該是 $ headers。='From:[email protected]'。爲 「\ r \ n」 個; 也...糟糕的形式混合雙引號和單引號... – 2012-02-08 18:00:58

回答

0
$headers .= ‘From: [email protected]' . "\r\n"; 

你有一個在這裏,這是不是PHP識別爲報價。改爲使用'

0

對不起,我在讀這一點,如果你閱讀我的文章前,先檢查您的SMTP是否完好谷歌使用SSL,權威性以及應以成功發送傳遞端口,

下一頁您qoutes混合與單和雙。嘗試使用雙重qoutes並轉義它。

+0

不,我沒有。在php.ini文件中,我有修改的變化像SMTP = [email protected]和Send_From =我的電子郵件ID ..是否仍然需要配置 – 2012-02-08 18:15:51

+0

是的每個包括谷歌的一些smtp需要你有auths,我不知道正確的語法,因爲我沒有使用PHP本地郵件。但這絕對是你的郵件出現問題的部分原因。嘗試谷歌搜索gmail的SMTP端口和ssl和其他,以及如何使用它與郵件() – tomexsans 2012-02-08 18:43:12

+0

先生,它做的nthng。意思是當我點擊Submit時,所有的字段都被清除並且沒有電子郵件被髮送。 在php.ini文件中,我有以下配置。 SMTP =本地主機 [email protected] .. 我做這些chnges後保存php.ini文件..但是,當我在本地主機中打開phpinfo().. SMTP = localhost像往常一樣.. 而在Sentmail_From中:沒有值寫入。 如果我的SMTP設置有問題。如何改變這些。請你能幫助我更多。我很新,我已經在網上搜索了2天這個東西,並得到越來越多的困惑..請幫助 – 2012-02-09 10:32:44

0

添加這樣的事情你的表單操作,以確保POST請求被髮送到正確的腳本:

<form id="EmailForm" name="EmailForm" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

$ _ SERVER [「PHP_SELF」]引用當前腳本。

+0

它沒有爲我工作.. $ _Server代碼,因爲它在地址欄中,並且頁面說,錯誤403,禁止 – 2012-02-08 18:26:36

+0

嘗試將其更改爲:

」> – 2012-02-08 19:13:26