2010-05-08 84 views
5

我打算編寫一個應用程序來處理傳入的郵件。基本上它會更像一個票務系統而不是網絡郵件,所以我只對收到郵件感興趣,而不是發送郵件。解碼MIME(HTML +附件)

我做了一個簡單的原型,下載郵件並在網頁上顯示帶有可下載附件的文本,但是處理來自Outlook和其他郵件的郵件更復雜。我已經查看了一些開源票務系統,但是大多數代碼都與系統相關,很難分開。

是否有一個瞭解「豐富」郵件並使這項工作更簡單的庫?最好在Python,Java,Ruby或Perl。我也願意爲可用於此目的的任何命令行郵件客戶端提供建議,因爲系統不會接收大量郵件並且可以啓動外部進程。

編輯:

我知道在Python和Java標準郵件庫,可以處理郵件本身,但我正在尋找一個圖書館,可以幫助我通過創建「富」的電子郵件包含格式化和內聯圖像的Outlook/Thunderbird。

+0

一個庫,以幫助你做什麼*與他們?他們並不特別。消息是HTML,並且內嵌圖像位於MIME結構中。 – hobbs 2010-05-09 02:28:08

+0

Outlook可以用HTML和它自己專有的「Rich」格式發送郵件,這與我認爲的RTF類似。我當然可以做出一些有效的工作,但是如果有一個已經用各種郵件客戶端的郵件進行過測試的庫,那麼我會更加舒適。 – 2010-05-09 11:18:51

+0

HTML相對來說不重要,但還有其他一些事情可以處理。 Outlook可以發送包含「Transport-Neutral Encapsulation Format」文件(http://support.microsoft.com/kb/269186),RTF和其他專有標準的郵件。這個問題必須以前由郵件客戶端的作者解決,所以我想重用他們的工作。 – 2010-05-09 11:25:42

回答

0

Python具有用於處理電子郵件的正確名稱爲email的軟件包。

+0

謝謝,但它不是實際的MIME解析是問題所在,而是將由Outlook創建的電子郵件與內聯圖像等轉換爲標準HTML。 – 2010-05-08 22:36:53

+0

除非有現成的庫,否則它接近微不足道,因爲HTML也支持內嵌圖像。 – 2010-05-16 11:44:20

1

Python標準庫中有幾個電子郵件處理軟件包。我沒有和他們一起工作過,所以我不確定他們是否完全按照你的意圖去做,但是如果你還沒有,我會建議你看看例如email package

如果你正在尋找比這更高級別的東西,我確定有第三方庫可用。

+0

謝謝,但這些庫大多專注於解碼郵件,我正在尋找一些可以處理由Outlook,Thunderbird等聯機圖像和格式化文本創建的「豐富」郵件的東西。 – 2010-05-08 22:39:43

+0

也許你知道這一點,但「豐富」的電子郵件實際上只是MIME多部分郵件。 HTML正文文本是一部分,每個內嵌圖像是另一部分。如果你想對這些消息進行簡單的處理,你可以編寫一個快速腳本來創建一個來自消息的'email.MIMEMultipart'對象,然後用它做任何你想做的事情。 – 2010-05-09 00:29:17

0

PHP的imap功能 與imap_fetchstructureimap_fetchbody你可以處理所有類型的電子郵件,但它很難。

你也可以看看http://www.squirrelmail.org/並撕掉電子郵件查看部分。

1

對於Perl,請查看Ricardo Signes'Email::MIME解析多部分消息。檢查出walk_parts,它遞歸地將回調應用於多部分消息的每個部分。

0

Zend框架有一個名爲的Zend_Mail包,可以處理多的電子郵件,附件,MIME內容和HTML電子郵件

的聯繫是here

0

你的願望是什麼,現在是不是可以在Java(據據我所知),您需要接收電子郵件數據流並通過電子郵件解析器庫創建您自己的包裝。

我已經創建了Java中需要傳入電子郵件數據流,並給出了一個包含電子郵件的主體的電子郵件對象類似的解決方案(純文本和HTML兩種),附件等

它能夠從所有經處理的郵件我至少知道的電子郵件客戶端。

我使用mime4j(電子郵件數據流解析器)爲我的任務,它比java郵件API好得多。