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

发布于 2024-07-05 14:14:55 字数 588 浏览 7 评论 0原文

我正在 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) 向用户显示电子邮件以进行最终编辑。 此时我可以查看属性并看到那里有一个附件。

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

I'm creating a new mail item, in C# VS-2008 outlook 2007, and attaching a file. The first issue is that I don't see an attachment area under the subject line showing the attachment. If I send the e-mail its properties show that there is an attachment and the e-mail size has grown by the attachment amount. I just cannot see it or extract the attachment.

Here is the code I'm using:

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

I am expecting the part "DisplayName" would show as the attachment name and I should be using the filename.

I don't call .Send() on the e-mail programmatically, I call mailItem.Display(true) to show the e-mail to the user for any final edits. At this point I can look at the properties and see that there is an attachment there.

If I press send (sending to myself) I see the same thing, the attachment appears to be there but not accessible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

马蹄踏│碎落叶 2024-07-12 14:14:55

我的问题和你的完全一样,但即使我将代码更改为你的,但它似乎仍然不起作用。 再次,它似乎已经在邮件项目中,但没有显示在邮件项目显示上。
好的,您必须确保 mailItem 主体不为空才能显示附件

I have excactly problem as yours, but even I change the code as yours, but it seems not work still. again, it seems already in the mailitems but not display on the mail items display.
OK, you have to make sure the mailItem body is not null to diplay the attechament

飘然心甜 2024-07-12 14:14:55

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

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

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

Bit of an old post, but as some others mentioned, using

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

did not help me either, so I thought I would share an alternative approach. The solution to this problem ended up being to call mailItem.Save(); right before you call mailItem.Display(true);. What this will do is refresh the outlook form to show your attachments. It also worthwhile to point out that it will save the message to drafts. Not an issue if you expect the user to send the email, but if they cancel, it will be left in their Drafts folder.

绝情姑娘 2024-07-12 14:14:55

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

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

看来 Position 和 DisplayName 参数控制 olByValue 发生的情况。 使用 Type.Missing,现在我可以正确地在电子邮件中看到附件。

I have found the issue. I change the code to use the following:

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

It appears that the Position and DisplayName parameters control what happens with an olByValue. Using Type.Missing and now I see the attachments correctly in the e-mail.

明月夜 2024-07-12 14:14:55

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

Attachment.Position 属性

By the way, if you will set Position to 0 your attachement will be hidden:

Attachment.Position Property

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文