使用内联指定编码解析邮件主题

时间:2010-06-18 10:50:24

标签: c# email encoding

我正在尝试解析具有格式本身指定的编码的电子邮件主题。我得到了格式并想象如何做到这一点,但也许已经有任何免费的.Net解决方案可用,所以我不会浪费时间在它上面?

以下是我要解析的主题示例:

=?ISO-8859-13?Q?Fwd=3A_Dvira=E8iai_vasar=E0_vagiami_da=FEniau=2C_bet_draust?=

2 个答案:

答案 0 :(得分:1)

我发现了一个很棒的库,用于解析上面提到的字符串和整个邮件 - SharpMimeTools

它无法自己从POP3服务器获取邮件(我使用OpenPop.Net),但它很好地解析它。 Waay waaay muuuch比OpenPop.Net解析器更好

var popClient = new POPClient();
popClient.Connect("pop.test.lt", 110, false);
popClient.Authenticate("test@test.lt", "test");

// Get OpenPop.Net message
var messageInfo = popClient.GetMessage(1, false);

// Covert raw message string into stream and create instance of SharpMessage from SharpMimeTools library
var messageBytes = Encoding.ASCII.GetBytes(rawMessage);
var messageStream = new MemoryStream(messageBytes);
var message = new SharpMessage(messageStream);

// Get decoded message and subject
var messageText = message.Body;
var messageSubject = message.Subject;

答案 1 :(得分:1)

我是OpenPop.NET的开发人员之一,截至目前已经发布了新版本。您不应该再看到在OpenPop.NET中解析任何电子邮件时出现任何问题。如果您发现任何问题,请通过我们的邮件列表告诉我们。 我们甚至为您的特定主题实施了一个测试用例 - 只是为了确保。