如果这是一个“明显”的问题,我提前道歉。
我对 MailKit 尤其陌生,对 C# 也很陌生。
要打开一个新的 IMAP 连接,我使用以下代码,直接取自 MailKit 的介绍性 GitHub 说明:
using (var client = new ImapClient())
{
client.Connect("imap.gmail.com", 993, true);
// Note: since we don't have an OAuth2 token, disable
// the XOAUTH2 authentication mechanism.
client.AuthenticationMechanisms.Remove("XOAUTH");
client.Authenticate("emailAddress", "pass");
// The Inbox folder is always available on all IMAP servers...
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadOnly);
}
我有一个包含与电子邮件管理相关的功能的类。
我希望 ImapClient 'client' 和 ImapClient.Inbox 'inbox' 实例在我的班级中持续存在,以便每个函数都可以访问收件箱,而无需运行上面的连接过程。我怎样才能让这些实例在我的课堂上持续存在?
换句话说,我想运行一次连接过程(最好在声明我的类的实例时),然后让所有后续方法通过这个初始连接过程访问收件箱。
提前致谢。