【问题标题】:Build MIME message from raw email text从原始电子邮件文本构建 MIME 消息
【发布时间】:2020-12-11 10:31:56
【问题描述】:

我需要处理原始电子邮件并提取收件人地址和发件人地址。我可以只搜索“To:”,但我宁愿以结构化的方式进行搜索以避免出现问题。

如何从原始电子邮件文本构建 MIME 消息,然后获取 To/From 标头?

我以前见过 MimeKit 用于发送电子邮件,但似乎无法找到一种方法来从原始字符串中混合 MimeKit 消息对象,以便我可以提取 To/From 标头。如果我只是尝试将原始电子邮件文本传递给构造函数,则会出现此运行时错误:

Exception: System.ArgumentException: Unknown initialization parameter: System.String
   at MimeKit.MimeMessage..ctor(Object[] args)
   at AWSS3Test.Services.CallS3.ListingObjectsAsync()

Google 没有返回任何有用的东西。

它不一定是 MIMEKit,但我该怎么做呢?

【问题讨论】:

  • 您看过文档吗? github.com/jstedfast/MimeKit#parsing-messages 你要么用流包装你的消息,要么直接从磁盘读取它
  • 您的链接无效,但您让我走上了正轨,谢谢。我会回答我自己的问题,需要是一个流并使用 Load 方法而不是构造函数。

标签: c# mimekit


【解决方案1】:

它需要使用.Load而不是构造函数,并且需要将字符串转换为流

var message = new MimeMessage();
byte[] byteArray = Encoding.ASCII.GetBytes(TestEmail);
MemoryStream stream = new MemoryStream(byteArray);
message = MimeMessage.Load(stream);

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 2012-09-22
    • 1970-01-01
    • 2021-02-06
    • 2017-05-23
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多