2010-09-29 49 views
3

我遇到了一個發送電子郵件確認的PHP腳本的問題。當在Thunderbird中接收到電子郵件時,標題出現在\ r \ n目錄中,MIME類型也包含內容類型信息。因此,電子郵件呈現爲純文本而不是HTML。使用PHP郵件 - 設置正確的MIME類型

如果我註釋掉MIME類型如下,則電子郵件呈現正確。首先,這樣做是否存在重大問題?其次,可能會造成這種情況?

if($apptpro_config->html_email == "Yes"){ 
     //$headers .= 'MIME-Version:1.0\r\n'; 
     $headers .= 'Content-type:text/html; charset=ISO-8859-1\r\n'; 
    } 



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

杜佩http://stackoverflow.com/questions/3644081/what-is-the-format-for-e-mail-headers-that-display-a-name的-rather超的的電子郵件。 – 2013-03-26 14:59:12

回答

10

請務必附上\ r \ n在雙引號(不是單引號!),使PHP可以翻譯成正確的換行代碼

$header = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";

+0

我已經完成了這個工作(儘管MIME和Content-Type在單獨的行中,但是當電子郵件通過時,我在電子郵件正文的頂部獲得了Content-type:text/plain; charset = UTF-8。類型設置正確在標頭中 – Jeepstone 2010-09-29 11:03:35

+0

刪除\ r並僅保留\ n – 2010-09-29 11:58:28

+0

<?php 郵件(在'您的郵件在這裏', '收件人:<收件人< 「 」內容類型:text/plain; charset =「 」來源:發件人<[email protected]> \ n「 iso-8859-1「); ?> – 2010-09-29 12:01:10

0

我知道這是不是你正在尋找的具體答案,但你有沒有嘗試過Zend Mail?

它簡化了設置HTML電子郵件的過程,並且您可以將其配置爲發送純文本版本,如果HTML在客戶端被禁用。

檢查出來: http://framework.zend.com/manual/en/zend.mail.html-mails.html

+0

這實際上在Joomla內部,所以它使用Joomla內的郵件 - 仍然是PHP郵件,但在他們的框架內,所以不值得添加其他內容。 – Jeepstone 2010-09-29 11:01:25

+0

爲什麼人們對5歲以下的評論投票?當時採埃孚是一個很好的選擇。 5年過去了,沒那麼多。 – Adam 2015-10-19 15:18:11