使用RTF文本作为正文发送邮件

时间:2010-02-25 13:22:43

标签: .net rtf mailmessage

我正在尝试使用某些RTF文本作为mail.body创建邮件消息,但System.Net.Mail.MailMessage上只有IsHtmlBody没有IsRtfBody属性。我收到的测试邮件都包含

{\rtf1\deff0{\fonttbl{\f0 Times New Roman;}{\f1 Verdana;}}{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;}{\*\listoverridetable}{\stylesheet {\ql\cf0 Normal;}{\*\cs1\cf0 Default Paragraph Font;}{\*\cs2\sbasedon1\cf0 Line Number;}{\*\cs3\ul\cf1\ulc1 Hyperlink;}}\sectd\pard\plain\ql{\f1\fs20\cf0 Beste }{等......

我很确定它可以完成,因为outlook也有RTF选项,但在网上找不到合适的例子,这是我到目前为止所做的:

        System.Net.Mail.MailMessage oMessage = GetMailMergeMessage();

        oMessage.Subject = this.MailMerger.Subject;
        oMessage.Body = this.MailMergeResult.RtfText;
        oMessage.IsBodyHtml = true; 

        oMailer.Send(oMessage);

希望有人可以帮助我,
Jurjen。

1 个答案:

答案 0 :(得分:2)

不,不能这样做。

此外,Outlook不会仅发送正常的RTF作为正文。它的作用是将RTF内容封装在TNEF消息中。

此外,RTF是一种特殊的压缩RTF。正如您所看到的那样,这不仅仅是正常的RTF。

执行此操作的唯一方法是将RTF压缩为MS标准,将其封装在TNEF消息中,然后将其作为winmail.dat附件附加。