2012-09-22 82 views
4

我編寫了一個程序C#,它連接到POP Server,並使用POP3命令RETR從服務器檢索原始電子郵件消息字符串。 由於程序檢索到的電子郵件爲純文本格式,所有標題和郵件正文相同,所以很難從原始字符串中提取每個標題和郵件正文。如何將原始電子郵件字符串解析到System.Net.Mail.MailMessage對象中?

有人可以告訴我一個解決方案,我可以解析整個原始文本到一個System.Net.Mail.MailMessage對象?

下面是一個示例電子郵件原始字符串:

+OK 1281 octets 
Return-Path: <[email protected]> 
Delivered-To: samplenet-sample:[email protected] 
X-Envelope-To: [email protected] 
Received: (qmail 53856 invoked from network); 22 Sep 2012 06:11:46 -0000 
Received: from mailwash18.pair.com (66.39.2.18) 
MIME-Version: 1.0 
From: "Deepu" 
<[email protected]> 
To: [email protected] 
Date: 22 Sep 2012 11:41:39 +0530 
Subject: TEST Subject 
Content-Type: text/plain; charset=us-ascii 
Content-Transfer-Encoding: quoted-printable 
Message-Id: <[email protected]> 


TEST Body 

. 

回答

6

經過一番研究,我可以找到OpenPop.Net開放源代碼庫,其中幾乎所有的短手方法與POP3服務器進行通信。

它非常有用,因爲它將原始電子郵件包裹到強類型的Message對象,並且包含任何附件的電子郵件的不同部分也可以單獨訪問。這真的很棒!

這裏是鏈接:

http://hpop.sourceforge.net/

1

我目前正在調查同樣的事情。本文包含的方法來電子郵件字符串解析到一個自定義的電子郵件對象:

http://dotnetslackers.com/articles/aspnet/Creating-a-Dynamic-Email-Drop-Box-Part2.aspx

它需要大量的工作,以便能夠正確地解析所有電子郵件。例如,發送日期字段的格式可能不同,並且此腳本僅捕獲一種格式。但這個項目是一個好的開始。

+0

感謝您的幫助。讓我看看它。 – Xmindz

相關問題