希望有人可以提供帮助。我正在实现一个功能,您可以选择电子邮件附件并将其保存在数据库中。该功能适用于PDF等,但是当涉及到MSG文件时,它会创建一个ItemAttachment而不是Fileattachment,并且不会让我能够获取内容或内容类型。
我发现this关于将邮件保存为.eml的帖子,但理想情况下,因为电子邮件附加了.msg,这应该保存在系统中。我做了一些广泛的搜索,但已经走到了尽头。
我正在使用asp.net,所以在VB.net中的答案将不胜感激。
由于
答案 0 :(得分:0)
我是这个网站的新手,请原谅我,如果我没有正确格式化我的答案。
假设您已经建立了交换连接,创建了一个新的ItemView,并从收件箱中检索了所有电子邮件,我们将从创建电子邮件的辅助列表开始,但我们只会列出包含项目附件的电子邮件
SELECT a.`group`, a.p
FROM `groups` a
INNER JOIN `groups` b
ON a.`group` = b.`group`
WHERE b.p = 'p1'
现在,我们只能循环带有项目附件的电子邮件
List<EmailMessage> emailsWithItemAttachment =
emails.Where(e => e.HasAttachments && e.Attachments[0] is ItemAttachment).ToList();
我真的希望这可以帮到你,如果我的回答有任何问题,请不要犹豫,编辑和/或联系我!
答案 1 :(得分:0)
查询ItemAttachment时,添加MimeContentPropertyDefinition(抱歉,不记得确切的名称和类)。然后你的ItemAttachment将设置MimeContent属性 - 这是一个文本(MIME),你可以保存为UTF-8编码扩展名为.EML的文件。 MIME是一种标准,因此.EML文件可以由任何邮件客户端应用程序打开。