2013-02-01 174 views
1

所以當我提交我的表單時,一切都存儲在數據庫中就好了,我有一個非常簡單的電子郵件,基本上包括'嘿謝謝,這是你的鏈接'的一種交易而我收到的很好。但現在我已經升級到使用HTML機構,突然間我沒有收到電子郵件,爲什麼?PHP的郵件功能不會發送電子郵件

$to = $username; 
$subject = 'Thanks for Registering on Dota Pub Stars!'; 
$message = '<html> 
       <head> 
        <title>Registration Successful!</title> 
        <link rel="stylesheet" src="http://www.sithhappens.net/css/style.css" /> 
       </head> 
      <body class="bodybg"> 
       <div id="registrationform"> 
       <p class="success">Thanks for registering on Dota Pub Stars!</p> 
       <br /> 
       <br /> 
       <a class="button2" href="http://www.sithhappens.net/?key=' . $activation_key . '&amp;username=' . $username . '&amp;email=' . $email1 . '">Activate Account</a> 
       </div> 
      </body> 
      </html>'; 

$headers = "MIME-Version: 1.0 \r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\n"; 
$headers .= "From: $from\r\n"; 

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

您是否使用這個確定在現場服務器上?本地服務器需要配合電子郵件服務器才能發送郵件。 – cbronson

+0

@cbronson是的我是,我只是不想釋放鏈接,因爲我還沒有準備好讓世界看到它:D – Gacnt

+0

你檢查了你的垃圾郵件文件夾嗎? – rlatief

回答

1

你上面的代碼幹活罰款我檢查這樣的嘗試檢查$ USERNAME值電子郵件

我的例子

$to = '[email protected]'; 
$subject = 'Thanks for Registering on Dota Pub Stars!'; 
$message = '<html> 
       <head> 
        <title>Registration Successful!</title> 
        <link rel="stylesheet" src="http://site...net/css/style.css" /> 
       </head> 
      <body class="bodybg"> 
       <div id="registrationform"> 
       <p class="success">Thanks for registering on Dota Pub Stars!</p> 
       <br /> 
       <br /> 
       <a class="button2" href="http://www.site...net/activateacc.php?key=345345&amp;username=435345&amp;email=34534534">Activate Account</a> 
       </div> 
      </body> 
      </html>'; 

    $headers = "MIME-Version: 1.0 \r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\n"; 
    $headers .= "From: $from\r\n"; 

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

檢查您的SMTP設置是

+0

非常感謝,至少你把它縮小到只是我的$用戶名,我真的不知道該給誰回答,我想你可以擁有它:D謝謝,我會把這件事情搞清楚。在我提交之前,我知道自己做錯了什麼,我使用$ username而不是$ email1,你有過那些你認爲的時刻,或許我應該在30分鐘前上牀睡覺?那麼我只有一個。 – Gacnt

0

您的服務器可能是大小寫敏感的...同時,從$末尾添加從

$headers="From: $from\r\n"; 
    $headers.="Content-Type: text/html;charset=iso-8859-1\n"; 
    mail($to, $subject, $message, $headers); 
+0

我做了你所說的,仍然沒有,你可以看到我在原來的帖子中是如何使用它的。 – Gacnt

0

請刪除後面的逗號「」以

它應該是$to = $username;

,並使其確保$用戶名是電子郵件地址

+0

還沒有:/。更新了我的原始帖子以顯示當前。 – Gacnt

+0

嘗試查看日誌以檢查服務器是否正在產生任何異常。可能是服務器本身的smtp存在問題。 –

0

燦您嘗試使用\n而不是\r\n來分隔標題,不要混合使用標題字符串,也不要在標題字符串的末尾添加一個標題。