是否可以在MailItem中设置附件的位置?

时间:2013-06-14 09:18:24

标签: c# com outlook-2007

我试图将附件放在通过COM创建的Outlook 2007的RTF邮件中:

using Outlook = Microsoft.Office.Interop.Outlook;
// ...
private static void CreateMailWithAttachment()
{
    Outlook.Application ol = new Outlook.Application();
    Outlook.MailItem mail = (Outlook.MailItem) ol.CreateItem(Outlook.OlItemType.olMailItem);
    mail.BodyFormat = Outlook.OlBodyFormat.olFormatRichText;
    mail.Subject = "Important e-mail";
    mail.Body = "1234567890 1234567890 1234567890";
    mail.Attachments.Add(@"c:\myfile.txt", Outlook.OlAttachmentType.olByValue, 2);
    mail.Display();
}

documentation of Attachments.Add没有明确说明当使用2和邮件长度之间的值时会发生什么:

  

此参数仅适用于使用Microsoft Outlook RTF格式的电子邮件:它是附件应放置在邮件正文中的位置。 Position参数的值为1指定附件应位于邮件正文的开头。一个值' n'大于电子邮件正文中的字符数指定附件应放在末尾。值为0会使附件隐藏。

我看到以下行为:

  • 0:按照描述工作,隐藏附件。
  • 1:不按照描述工作,附件位于正文的末尾。
  • > 1:附件位于正文的末尾。

使用命令行参数/noextensions/safe启动Outlook时,情况相同。

是否可以在邮件中间放置附件?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我猜它是KB967677,虽然我很确定已经安装了补丁。它与Outlook 2003完美配合。

很抱歉打扰。