c# Outlook VSTO 插件,当邮箱处于仅标头模式时将下载新邮件

Posted

技术标签:

【中文标题】c# Outlook VSTO 插件,当邮箱处于仅标头模式时将下载新邮件【英文标题】:c# VSTO plugin for Outlook, that would download new messages when mailbox is in header only mode 【发布时间】:2018-04-12 21:24:55 【问题描述】:

我的邮箱只能在 Outlook 的仅标头模式下运行。标题模式很糟糕,无法每天使用。我想要做的是将 Outlook 设置为整个邮箱的仅标题模式,但会自动下载所有新到达邮件的完整项目。

我从 MS 网站获取了一些代码,但我在 mailitem 对象上找不到一个方法:“立即下载此消息的其余部分”用于该新邮件项。这是我到目前为止所拥有的,如下。我认为最简单的方法是检查下载状态属性 (https://msdn.microsoft.com/en-us/VBA/Outlook-VBA/articles/mailitem-downloadstate-property-outlook) 如果未下载,则“立即下载此消息的其余部分”。

所有这一切都将发生在一个新的邮件项目事件中。我不是程序员。我什么都不知道。任何建议都非常感谢。

public partial class ThisAddIn   
    Outlook.NameSpace outlookNameSpace;
    Outlook.MAPIFolder inbox;
    Outlook.Items items;

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    
        outlookNameSpace = this.Application.GetNamespace("MAPI");
        inbox = outlookNameSpace.GetDefaultFolder(
                Microsoft.Office.Interop.Outlook.
                OlDefaultFolders.olFolderInbox);

        items = inbox.Items;
        items.ItemAdd +=
            new Outlook.ItemsEvents_ItemAddEventHandler(items_ItemAdd);
    

    void items_ItemAdd(object Item)
    
        //CHECK IF MAIL IS HEADER-ONLY. IF IT IS, DOWNLOAD FULL ITEM.


        

    #region VSTO generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InternalStartup()
    
        this.Startup += new System.EventHandler(ThisAddIn_Startup);
        this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
    

    #endregion

【问题讨论】:

【参考方案1】:

当您使用 Outlook 对象模型触摸该邮件时,将按需下载该邮件。

【讨论】:

以上是关于c# Outlook VSTO 插件,当邮箱处于仅标头模式时将下载新邮件的主要内容,如果未能解决你的问题,请参考以下文章

VSTO Outlook 插件:当用户拖放定期约会时,无法在 Item_Change 事件中获取 AppointmentItem

具有新 Office 高 DPI 支持的 Outlook VSTO

如何将 Outlook 2007 VSTO 插件升级到新版本

Outlook VSTO插件在Outlook中不可见。

如何从 VSTO 插件中找出当前版本的 Outlook?

VSTO Outlook 插件需要保存设置,最好的方法是啥?