从Outlook

时间:2015-09-09 12:07:07

标签: c# outlook outlook-addin

要求是从Outlook电子邮件中删除附件。这是代码:

internal void ClearAttachments()
    {
        Outlook.MailItem mailItem = Globals.ThisAddin.Application.ActiveInspector().CurrentItem as MailItem;
        try
        {
            if (mailItem != null && mailItem.Attachments.Count >= 1 )
            {
                for (int i = mailItem.Attachments.Count; i >= 1; i--)
                {
                    mailItem.Attachments[i].Delete();
                    mailItem.Attachments.Remove(i);
                }
            }
        }
        catch (Exception e)
        {
            //log this if needed.
        }

对于大多数常用文件都可以正常工作,除了“内联图像”,如果我的内联图像少于3个,它就不会将它们识别为附件(奇怪!)但是如果我有内联图像和其他文件则工作正常(例如.txt)在这种情况下当删除时Outlook仍然会在删除图像时显示一个矩形块(一种容器)。

1 个答案:

答案 0 :(得分:0)

矩形块由HTML正文显示,现在指的是不再存在的图像。您还需要适当地更新MailItem.HTMLBody属性。