2013-12-21 78 views
3

在PHP中,我試圖以HTML格式發送電子郵件。到目前爲止,我有這個不以html格式發送PHP郵件功能

  $subject = "Password Reminder"; 
      $message = "Your password is <b>{$password}</b>.<br/><br/><br/><br/>me"; 
      $message = wordwrap($message, 70, "\r\n"); 
      $headers = 'From: [email protected]' . '\r\n' . 
       'Reply-To: [email protected]' . '\r\n' . 
       'X-Mailer: PHP/' . phpversion() . '\r\n' . 
       'MIME-Version: 1.0\r\n' . '\r\n' . 
       'Content-Type: text/html; charset=ISO-8859-1\r\n'; 

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

我遵循這個指南:http://css-tricks.com/sending-nice-html-email-with-php/

但是,當我得到的電子郵件,它顯示了標籤,我想它的標籤解讀成html。

有誰知道最新錯誤?

謝謝。

+0

我討厭下雨某人的遊行,但我已經訪問過該網站(CSS技巧)無數次地看到,在該網站上大部分或全部的信息包含錯誤。如有疑問,**請務必參考實際(PHP)手冊** --- [請參閱PHP.net上的mail()和header()函數手冊](http://php.net/ manual/en/function.mail.php) –

+0

要添加一些最近學到的信息,請取出X-Mailer:PHP /。 phpversion()'當你給潛在的黑客信息關於你的服務器,並且是一個安全漏洞。這來自SO的可靠來源。 –

+0

好的謝謝你的信息。 – omega

回答

9

這是最有可能的問題:'MIME-Version: 1.0\r\n' . '\r\n' .

經過兩次endlines頭端,車身開始。因此,您的content-type text/html聲明被解析爲消息正文,而它屬於標頭。

刪除一個底線,它應該工作:

'MIME-Version: 1.0\r\n'

還我注意到您使用單引號\r\n。你應該使用雙引號,否則他們會被轉義。你需要對它們進行分析。

'From: [email protected]' . "\r\n" . 
       'Reply-To: [email protected]' . "\r\n" . 
       'X-Mailer: PHP/' . phpversion() . "\r\n" . 
       'Content-Type: text/html; charset=ISO-8859-1'."\r\n". 
       'MIME-Version: 1.0'."\r\n\r\n"; 
+0

工作,謝謝。 – omega

+0

太棒了。請記住閱讀我的意見@omega –

+0

是的,我上面已經閱讀過。 – omega