Outlook附件.Add()未显示在邮件正文中

时间:2008-09-29 00:15:01

标签: c# outlook office-2007

我正在C#VS-2008 outlook 2007中创建一个新邮件项目,并附加一个文件。第一个问题是我没有在主题行下面看到显示附件的附件区域。如果我发送电子邮件,其属性显示有附件,并且电子邮件大小增加了附件金额。我只是看不到它或提取附件。

以下是我正在使用的代码:

Outlook.MailItem mailItem = (Outlook.MailItem)this.Application.CreateItem(Outlook.OlItemType.olMailItem);
attachments.Add(ReleaseForm.ZipFile, Outlook.OlAttachmentType.olByValue, 0, "DisplayName");

我希望“DisplayName”部分显示为附件名称,我应该使用文件名。

我没有以编程方式在电子邮件上调用.Send(),我调用mailItem.Display(true)来向用户显示任何最终编辑的电子邮件。在这一点上,我可以查看属性,看看那里有附件。

如果我按发送(发送给自己),我看到同样的事情,附件似乎在那里,但无法访问。

4 个答案:

答案 0 :(得分:4)

我找到了这个问题。我更改代码以使用以下内容:

attachments.Add(ReleaseForm.ZipFile, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing);

看起来Position和DisplayName参数控制着olByValue会发生什么。使用Type.Missing,现在我在电子邮件中正确地看到了附件。

答案 1 :(得分:3)

顺便说一下,如果你将Position设置为0,你的附件将被隐藏:

Attachment.Position Property

答案 2 :(得分:0)

我的问题与你的一样严重,但即使我改变你的代码,但它似乎仍然没有用。再次,它似乎已经在mailitems但不显示在邮件项目显示。 好的,您必须确保mailItem主体不为null以显示注释

答案 3 :(得分:0)

有点旧帖子,但正如其他人提到的那样,使用

attachments.Add(path, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing);

也没有帮助我,所以我想我会分享另一种方法。此问题的解决方案最终是在您致电mailItem.Save();之前致电mailItem.Display(true);。这将做的是刷新Outlook表单以显示您的附件。值得指出的是,它会将信息保存到草稿中。如果您希望用户发送电子邮件,则不是问题,但如果他们取消,则会将其保留在“草稿”文件夹中。