gpt4 book ai didi

c# - 是否有 .NET Framework 方法来解析电子邮件 (MIME)?

转载 作者:IT王子 更新时间:2023-10-29 04:33:30 25 4
gpt4 key购买 nike

.NET Framework (3.5+) 中是否内置了一个类或一组函数来解析原始电子邮件(MIME 文档)?

我不是在寻找任何花哨的东西或一个单独的库,它需要是内置的。我将在一些单元测试中使用它,只需要获取感兴趣的主要标题(To、From、Subject)和正文(在这种情况下,它始终是文本,因此没有 MIME 树或边界)。我过去写过几个 MIME 解析器,如果没有现成的东西,我会把一些来自正则表达式的东西放在一起。能够做这样的事情会很棒:

MailMessage msg = MailMessage.Parse(text);

想法?

最佳答案

我知道你说没有外部库,但我在 codeplex 上发布了一个库:

https://bitbucket.org/otac0n/mailutilities

MimeMessage msg = new MimeMessage(/* string, stream, or Byte[] */);

它已经过 40,000 多封真实邮件消息的测试。

我对我的命名空间选择不太满意,但是...我懒得更改它。


附言:

在内部,我的库使用这些正则表达式作为解析器:

internal static string FullMessageMatch =
@"\A(?<header>(?:[^\r\n]+\r\n)*)(?<header_term>\r\n)(?<body>.*)\z";
internal static string HeadersMatch =
@"^(?<header_key>[-A-Za-z0-9]+)(?<seperator>:[ \t]*)(?<header_value>([^\r\n]|\r\n[ \t]+)*)(?<terminator>\r\n)";
internal static string HeaderSeperator =
"\r\n";
internal static string KeyValueSeparator =
@"\A:[ \t]*\z";

关于c# - 是否有 .NET Framework 方法来解析电子邮件 (MIME)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1669797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com