C# 如何通过C删除电子邮件帐户(在工具->帐户设置->电子邮件中添加的帐户)

C# 如何通过C删除电子邮件帐户(在工具->帐户设置->电子邮件中添加的帐户),c#,outlook,C#,Outlook,我尝试使用Outlook Namesapce的删除存储方法删除与电子邮件帐户关联的根文件夹,但它抛出一个错误,表示它与电子邮件帐户关联。那么,如何从C中删除Outlook中添加的电子邮件帐户 private void RemovePersonalFoldersStore(Outlook._Application OutlookApp) { Outlook.NameSpace ns = null; Outlook.Folders rootFolders =

我尝试使用Outlook Namesapce的删除存储方法删除与电子邮件帐户关联的根文件夹,但它抛出一个错误,表示它与电子邮件帐户关联。那么,如何从C中删除Outlook中添加的电子邮件帐户

 private void RemovePersonalFoldersStore(Outlook._Application OutlookApp)
    {
        Outlook.NameSpace ns = null;
        Outlook.Folders rootFolders = null;
        Outlook.MAPIFolder folder = null;
        String acc = "";
        try
        {
            ns = OutlookApp.GetNamespace("MAPI");
            rootFolders = ns.Folders;
            foreach (Outlook.Account a in ns.Stores.Session.Accounts)
            {
                acc = a.DisplayName;
            }

            for (int i = 1; i <= rootFolders.Count; i++)
            {
                folder = rootFolders[i];
                if (folder != null)
                {
                    if (!folder.Name.Equals(OutlookApp.Session.DefaultStore.DisplayName))
                    {

                        ns.RemoveStore(folder);

                    }

                    folder = null;
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        finally
        {

        }
    }

Outlook对象模型不提供任何用于删除邮件帐户的属性或方法。相反,您可以使用低级API扩展MAPI或该API周围的任何其他第三方包装器。要删除帐户,您需要使用该方法。有关示例代码,请参见

您还可能发现IProfAdmin::DeleteProfile方法有助于删除配置文件。如果调用DeleteProfile时要删除的配置文件正在使用,DeleteProfile将返回S_OK,但不会立即删除该配置文件。相反,DeleteProfile会将配置文件标记为删除,并在其所有活动会话结束后,在不再使用该配置文件后将其删除。有关更多信息,请参见界面


您可以在文章中找到示例代码。

Namespace.RemoveStore删除PST帐户。如果需要删除一个邮件,而不是存储帐户,则需要使用IOKAcQuangMeCurr.DeleTeChan-Ex延MAPI方法C++或Delphi。对于C,您可以使用及其.Delete方法。

做了哪些工作?我不能使用C来做这件事?实际上,我需要分析文件夹中的多个.pst文件。我面临的问题是,我想在运行中添加.pst文件,并在完成后将其删除,但我无法删除与电子邮件帐户关联的.pst文件。您可以添加或删除其他.pst文件,而不会出现任何问题。但不应触动默认存储。使用哪种编程语言取决于您。但是,MS不支持从托管编程语言调用扩展MAPI方法或属性。您可以自行承担风险。更多信息请参见..Eugene,删除整个配置文件与删除给定配置文件中的特定帐户有什么关系?Opps。。。看来我犯了一个错误:我会改正的。