public static ImapClient CreateClientByAccount(Account account) { try { var client = new ImapClient { Security = account.Security }; //client.ManualSaslAuthenticationRequired += (sender, e) => AuthenticateManually(e, account); var port = client.Security == SecurityPolicies.Explicit ? ImapPorts.Ssl : ImapPorts.Default; client.Connect(account.Host, port); //Thread.Sleep(100); client.Authenticate(account.Credential, SaslMechanics.Login); //Thread.Sleep(500); return client; } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } }
public ImapClient InitClient(ImapAccountInfo account) { Debug.Assert(null != account); ImapClient imapClient = new Crystalbyte.Equinox.Imap.ImapClient(); imapClient.Security = SecurityPolicies.Explicit; imapClient.Connect(this.Host, this.Port); if ((null != account.UserName) && (null != account.UserPwd)) { // doesn't need OAuth --- try regular LOGIN imapClient.Authenticate(account.UserName, account.UserPwd, SaslMechanics.Login); } else { imapClient.ManualSaslAuthenticationRequired += (sender, e) => this.AuthHandler(e.Client, e.UserCredentials, account); imapClient.Authenticate(account.UserName, account.UserPwd); } return imapClient; }
private ImapClient CreateClientByAccount(Account account) { try { var client = new ImapClient {Security = account.Security}; client.ManualSaslAuthenticationRequired += (sender, e) => AuthenticateManually(e, account); var port = client.Security == SecurityPolicies.Explicit ? ImapPorts.Ssl : ImapPorts.Default; client.Connect(account.Host, port); client.Authenticate(account.Credential); return client; } catch (Exception ex) { LogSafely(ex.Message); throw; } }