C# Outlook附件包含一些未知图像“;image00001";如果我加上「;“展望项目”;通过链接的附件或共享文档的类型
我的目标是检查电子邮件中的所有附件,并显示一条消息,建议将文件上传到云端,并通过链接共享文件,即使其中一个文件位于PC上 目前,如果我从PC添加一些文件,在这种情况下C# Outlook附件包含一些未知图像“;image00001";如果我加上「;“展望项目”;通过链接的附件或共享文档的类型,c#,outlook,outlook-addin,C#,Outlook,Outlook Addin,我的目标是检查电子邮件中的所有附件,并显示一条消息,建议将文件上传到云端,并通过链接共享文件,即使其中一个文件位于PC上 目前,如果我从PC添加一些文件,在这种情况下 item.Attachments.Count=1; att.Type=Outlook.OlAttachmentType.olByValue; 我可以这样检查 public bool IsAttachmentLocal(Outlook项目) { foreach(Outlook.Attachment在item.Attachments
item.Attachments.Count=1;
att.Type=Outlook.OlAttachmentType.olByValue;
我可以这样检查
public bool IsAttachmentLocal(Outlook项目)
{
foreach(Outlook.Attachment在item.Attachments中)
{
if(att.Type==Outlook.OlAttachmentType.olByValue&&null==att.PathName)
返回true;
}
}
但如果我通过云位置添加了一些“outlookitem”(消息)或文件,则Item.Attachments.Cout=5。
此数组的第一个元素是类型为olEmbeddeditem或7的文件(对于云位置文件)。
接下来的四个元素是一些名为“image00001”的未知图像,它们具有
att.Type=Outlook.OlAttachmentType.olByValue;
通过了我的检查
我怀疑它可能是缩略图
在这种情况下,如何检查文件位置?我可以通过某种方式传递这些图像吗?似乎您只需要在Outlook中检测嵌入的图像。以下是用于添加此类图像的示例代码:
Attachment attachment = newMail.Attachments.Add(@"E:\Pictures\image001.jpg"
, OlAttachmentType.olEmbeddeditem, null, "Some image display name");
string imageCid = "image001.jpg@123";
attachment.PropertyAccessor.SetProperty(
"http://schemas.microsoft.com/mapi/proptag/0x3712001E", imageCid);
newMail.HTMLBody = String.Format("<body><img src=\"cid:{0}\"></body>", imageCid);
7是“通过WEB附加”。附件本身必须是*.url文件。其格式如下所示
[InternetShortcut]
URL=http://www.mysite.demo/myfile.ext
这很有趣,因为当我将文件拖放到outlook日历时,我会得到这种类型(7)。我不能直接从VBA本身添加它。outlook在拖放本地文件时是否生成Internet快捷方式?
[InternetShortcut]
URL=http://www.mysite.demo/myfile.ext