我正在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)来向用户显示任何最终编辑的电子邮件。在这一点上,我可以查看属性,看看那里有附件。
如果我按发送(发送给自己),我看到同样的事情,附件似乎在那里,但无法访问。
答案 0 :(得分:4)
我找到了这个问题。我更改代码以使用以下内容:
attachments.Add(ReleaseForm.ZipFile, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing);
看起来Position和DisplayName参数控制着olByValue会发生什么。使用Type.Missing,现在我在电子邮件中正确地看到了附件。
答案 1 :(得分:3)
顺便说一下,如果你将Position设置为0,你的附件将被隐藏:
答案 2 :(得分:0)
我的问题与你的一样严重,但即使我改变你的代码,但它似乎仍然没有用。再次,它似乎已经在mailitems但不显示在邮件项目显示。 好的,您必须确保mailItem主体不为null以显示注释
答案 3 :(得分:0)
有点旧帖子,但正如其他人提到的那样,使用
attachments.Add(path, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing);
也没有帮助我,所以我想我会分享另一种方法。此问题的解决方案最终是在您致电mailItem.Save();
之前致电mailItem.Display(true);
。这将做的是刷新Outlook表单以显示您的附件。值得指出的是,它会将信息保存到草稿中。如果您希望用户发送电子邮件,则不是问题,但如果他们取消,则会将其保留在“草稿”文件夹中。