使用帐户设置发送 IMAP 命令

问题描述 投票:0回答:1

我想创建一个 Outlook 插件来检索 IMAP 帐户的配额信息。
我需要将

QUOTAROOT
命令发送到 IMAP 服务器并解析结果。

在 C# 中,这非常容易使用,例如 这个库

为了避免配置帐户两次,我想使用已配置的帐户连接到 IMAP 服务器。

我知道我可以通过 Outlook 帐户发送电子邮件,但我找不到有关直接与 IMAP 服务器交互的信息。

有没有办法通过 Outlook 建立的连接(即不直接读取凭据)或通过读取凭据并自己创建连接?

我可能会像 Nirsoft MailPassView 那样弄乱注册表,但我想使用更官方的方式。

outlook vsto outlook-addin
1个回答
0
投票

Outlook 对象模型不公开任何 IMAP4/SMTP 特定信息。在扩展 MAPI 级别(仅限 C++ 或 Delphi),连接信息存储在相应的 IOlkAccount 对象中 - 如果单击 IOlkAccountManager 按钮,您可以在

OutlookSpy
(我是其作者)中看到数据。 OOM 通过 Account.
IOlkAccount
属性公开该 MAPI 对象(仅在 C++ 或 Delphi 中可用)。账户密码已加密。

如果使用 Redemption 是一个选项(我也是它的作者),它会通过 RDOIMAPAccount 对象公开 IMAP4/SMTP 特定帐户数据(包括服务器和凭据)。

在 VBA 中:

set Session = CreateObject("Redemption.RDOSession") Session.MAPIOBJECT = Application.Session.MAPIOBJECT set Accounts = Session.Accounts for each Account in Accounts if Account.AccountType = 0 Then 'atPOP3 Debug.Print "POP3/SMTP account " & Account.Name & ": " & Account.POP3_Server & ", " & Account.POP3_UserName end if if Account.AccountType = 1 Then 'atIMAP Debug.Print "IMAP/SMTP account " & Account.Name & ": " & Account.IMAP_Server & ", " & Account.IMAP_UserName end if next
    
© www.soinside.com 2019 - 2024. All rights reserved.