当前位置: 首页 > 知识库问答 >
问题:

RTF邮件中的附件放置

巫马山
2023-03-14

我想通过Outlook和C发送一封邮件,但我的附件放置有问题。我有以下代码:

if (strBody.StartsWith(@"{\rtf"))
{   
    mailItem.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatRichText;                    
    mailItem.RTFBody = Encoding.UTF8.GetBytes(strBody);

    mailItem.Attachments.Add(strAttachment, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, int.MaxValue, null);

}
else
{
    mailItem.Body = strBody;
    mailItem.Attachments.Add(strAttachment, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, 1, null);
}

我的strBody具有以下值:

{\rtf1\ansi\ansicpg1252\deff0\delang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}}{\coltbl;\red255\gre0\Blu128;\red0\gre128\Blu255;}\viewkind4\uc1\pard\fs20 Sehr geehrte\cf1 Damen\cf0 und\cf2 Herren\cf0,\par\par hier ihre AB\fs20\par}

但是我的邮件是这样的:

现在我的问题是,

  1. 附件是否可以像邮件不是RTF格式时那样显示为额外的一行

共有1个答案

裴星洲
2023-03-14

你做的一切都对。每个值

或者您将邮件编写为超文本标记语言类型。问题较少。

编辑:

如您所见,文件位于邮件的末尾。

编辑II:

以下是以HTML格式发送电子邮件并在附件行中添加附件的方法示例

    static void Main(string[] args)
    {
            Outlook.Application tmpOutlookApp = new Outlook.Application();
            Outlook.MailItem tmpMessage = (Outlook.MailItem)tmpOutlookApp.CreateItem(Outlook.OlItemType.olMailItem);
            tmpMessage.HTMLBody = "Test";
            String sDisplayName = "Test";
            int iPosition = (int)tmpMessage.Body.Length + 1;
            int iAttachType = (int)Outlook.OlAttachmentType.olByValue;
            Outlook.Attachment oAttach = tmpMessage.Attachments.Add(@"C:\Test.txt", iAttachType, iPosition, sDisplayName);
            tmpMessage.Subject = "Your Subject will go here.";
            Outlook.Recipients oRecips = (Outlook.Recipients)tmpMessage.Recipients;
            Outlook.Recipient tmpRecipient = (Outlook.Recipient)oRecips.Add("EMail");
            tmpRecipient.Resolve();
            tmpMessage.Send();
    }
 类似资料:
  • 我一直在使用此脚本向某些员工发送电子邮件,但由于我的系统发生了更改,我现在必须随电子邮件发送附件,我尝试了多个代码来完成此任务,但都没有成功。。。我仍然收到电子邮件,但没有附件,这在这种情况下是毫无意义的,我已经把我正在使用的脚本放在下面 我已经删除了我使用的真实地址和smtp服务器 我也尝试了一些其他的emtods附加的文件,但似乎没有工作任何帮助是大大的

  • AIR Native Extension:可以在Flash中指定附件路径进行发送 [Code4App.com]

  • 这似乎很难,而且 我的电子邮件内容是html格式的,所以我必须首先将RTF转换为html格式。

  • 如何从内容类型为“多部分/备选”的邮件中下载附件;

  • 问题内容: 我有一个名为lSession的javax.mail.Session和一个MimeMessage lMessage: 我得到了包含文件表示形式的字节数组列表: 我尝试将这些文件附加到邮件中,但无法修复…。 请,如果有人知道谁用字节数组附加文件? 问题答案: 试试这个代码:

  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送