5

我正在使用 mimekit 为我的项目接收和发送邮件。我正在发送已收到的邮件,并进行了一些修改(往返部分)。现在我需要在正文部分进行修改。我将用 asterix 字符替换特定的单词。每封邮件的特定文本都不同。邮件可以是任何格式。你可以看到我找到了我想要的东西,但我不知道如何在没有任何错误的情况下替换?

在此处输入图像描述

4

1 回答 1

5

MimeMessage.Body是一个树结构,如 MIME,因此您必须导航到MimePart包含您要修改的内容的目录。

在这种情况下,由于您要修改 text/* MimePart,它实际上将是MimePartcalled的子类,TextPart它具有.Text属性(可写)。

我已经编写了有关如何遍历消息的 MIME 结构以在此处查找您要查找的部分的文档:http: //www.mimekit.org/docs/html/WorkingWithMessages.htm

一个非常简单的解决方案可能是:

var part = message.BodyParts.OfType<TextPart> ().FirstOrDefault ();
part.Text = part.Text.Replace ("x", "y");

但请记住,该逻辑假定您找到的第一个 text/* 部分就是您要查找的部分。

于 2016-01-14T23:35:42.927 回答