Mimekit将rtf添加为附件而不是身体

时间:2017-02-09 14:45:46

标签: c# mailkit mimekit

使用以下代码将winmail.dat文件的rtf正文添加为已保存的电子邮件的附件而不是正文:

BodyParts

我该如何解决这个问题?

查看int b = 1; foreach (MimeKit.MimeEntity bodyPart in tnefMessage.BodyParts) { if (!bodyPart.IsAttachment) { bodyPart.WriteTo(path + $"_bodyPart{b++}.{bodyPart.ContentType.MediaSubtype}"); } } 它不存在,但附件和body.rtf文件存在于.cartelement{position: relative;float: right;background: url(../images/cart.jpg) center center no-repeat#6B1682;font-size: 0px;width: 55px;} .cartelement.mobile{ position: absolute; right:0; top: 0; background: url(../images/cart.jpg) center center no-repeat#6B1682; font-size: 0px; width: 55px; padding-top:10px; } .cartelement a{ color: #fff; font-size: 0px !important; height: 54px; width: 55px; float: left;} .cartelement a:hover{color: #fff !important;} 中。所以我可以像这样得到body.rtf文件:

BEGIN

旁注:body.rtf文件不是真rtf,因为它以下列内容开头:

  

Content-Type:text / rtf;名称= body.rtf

     

(新行)

1 个答案:

答案 0 :(得分:1)

您获得Content-Type标头的原因是您正在编写MIME信封以及内容。

您需要做的是:

int b = 1;
foreach (MimeKit.MimeEntity bodyPart in tnefMessage.BodyParts)
{
    if (!bodyPart.IsAttachment)
    {
        var mime = (MimeKit.MimePart) bodyPart;
        mime.ContentObject.DecodeTo(path + $"_bodyPart{b++}.{bodyPart.ContentType.MediaSubtype}");
    }
}