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