2011-01-07 63 views
5

在codeigniter中遇到了一個電子郵件類的奇怪問題。當我直接發送電子郵件到我的Gmail帳戶電子郵件地址,它工作正常。但是,如果我將電子郵件發送到其他電子郵件地址並使用POP3將該電子郵件地址導入到Gmail中,那麼出於某種原因,所有標題都將包含在郵件中。向Codeigniter發送電子郵件時出現問題 - 在郵件正文中發送郵件頭

下面的代碼發送電子郵件:

$this->email->clear(); 
$config['mailtype'] = "html"; 
$this->email->initialize($config); 
$this->email->set_newline("\r\n"); 
$this->email->from('[email protected]', 'Website'); 
$this->email->to('[email protected]'); 
$this->email->message($message); 

下面是我的收件箱有什麼到達當電子郵件被髮送到通過POP3導入到Gmail帳戶:

Date: Fri, 7 Jan 2011 15:07:04 +0000 

From: "Website" <[email protected]> 
Reply-To: "[email protected]" <[email protected]> 
X-Sender: [email protected] 

X-Mailer: CodeIgniter 

X-Priority: 3 (Normal) 

Message-ID: <[email protected]> 

Mime-Version: 1.0 

Content-Type: multipart/alternative; boundary="B_ALT_4d272c1835c46" 




This is a multi-part message in MIME format. 

Your email application may not support this format. 



--B_ALT_4d272c1835c46 

Content-Type: text/plain; charset=utf-8 

Content-Transfer-Encoding: 8bit 



this is the email message content 





--B_ALT_4d272c1835c46 

Content-Type: text/html; charset=utf-8 

Content-Transfer-Encoding: quoted-printable 

<html> 
<body> 
     <p>this is the email message content 
</p> 
</body> 
</html> 



--B_ALT_4d272c1835c46-- 
+0

嘗試將mailtype從html更改爲文本。 – 2011-01-09 05:54:15

回答

0

由於郵件有問題傳遞到地址(POP3帳戶)笨/ sendmail的/ PHP/DNS/SMTP和所有參與郵件傳遞那些已經做了什麼對他們的期望。此外,您還證明Google的郵件提取程序已配置,並且可以成功從pop3服務器獲取郵件並將其放入收件箱中,但這也沒有錯。

你想知道的是如何改變這些導入pop3消息的方式顯示在你的gmail帳戶收件箱中,如果你的消息被髮送到我們的工作,這超出了你在這裏定位的受衆範圍完成。也許是爲了解決問題

的一種方法,是將郵件直接發送到您的Gmail帳戶來代替。作爲主要收件人(發送至,您可以用逗號分隔多個帳戶)或CC或BCC地址之一,這將避免需要從POP3中獲取。然後,這些信息將顯示在收件箱中,並按照發送給您的任何其他信息顯示,並按照慣例隱藏標題。

這適用於我。

讓我們知道事情最終會如何......

1

這聽起來像它不是一個笨問題。

您已測試並顯示消息正確發送。你已經看到它發送到另一個POP3帳戶。 GMail能夠獲取POP3帳戶數據,但卻讓它變得更加流行。

下一個測試是使用客戶端,比如,雷鳥(臺式機)或松鼠郵件(網頁),看看郵件是從這些來源正確地到達你。

下一個測試(如果不是)是到另一臺服務器上使用完全不同的POP3帳戶與另一個供應商,看看會發生什麼在那裏。

這樣做的原因是責任(因爲你看到它)出現在POP3和抵達的GMail交付之間發生。如果POP3服務器具有CI可能沒有考慮到的任何異常配置,我想作爲故障查找器的目的是確定這是否是格式錯誤的電子郵件或(並且這將是我的猜測)。

爲了節省時間,我會在CodeIgniter論壇上發帖詢問是否有其他人遇到過這些問題,在這種情況下可能存在已知的錯誤或缺陷或缺陷。在等待答案時,我會查看我的POP3服務器,並詢問它爲什麼以我不喜歡的方式轉發郵件,如果這是POP3,服務器類型或配置問題。最重要的是,一旦我知道問題是什麼,我該如何更改我的電子郵件發送軟件(CI)以發送不會以這種方式破壞的電子郵件?

但首先需要知道問題的根本原因。

1

請使用 $ config ['protocol'] ='sendmail';