Ejemplo n.º 1
0
 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);
            }
        }