我试图将附件放在通过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时,情况相同。
是否可以在邮件中间放置附件?我错过了什么吗?