public EmailService( IEmailRepository emailRepository, IContactRepository contactRepository, IAttachmentRepository attachmentRepository, IEmailContactRepository emailContactRepository, IEmailConfigurationRepository emailConfigurationRepository, IKeyWordRepository keyWordRepository, IMatchedKeyRepository matchedKeyRepository, ICqLogger cqLogger) { _emailContactRepository = emailContactRepository; _emailConfigurationRepository = emailConfigurationRepository; _emailRepository = emailRepository; _contactRepository = contactRepository; _attachmentRepository = attachmentRepository; _keyWordRepository = keyWordRepository; _matchedKeyRepository = matchedKeyRepository; _cqLogger = cqLogger; }
public static async Task <bool> TryAuthenticateAsync(this ImapClient client, IEmailConfiguration configuration, int timeout, ICqLogger cqLogger) { try { client.Timeout = timeout; await client.ConnectAsync(configuration.ImapServer, configuration.ImapPort, true); client.AuthenticationMechanisms.Remove("XOAUTH2"); await client.AuthenticateAsync(configuration.Email, configuration.Password); return(true); } catch (Exception e) { await cqLogger.LogToFile(e.ToString(), "Email Assistant Extensions Error"); return(false); } }