using MailKit.Search; using Microsoft.Extensions.Logging; using PARR.AIHIT.Settings; using PARR.Mail.Services; namespace PARR.AIHIT { internal class Syncher { private readonly ILogger logger; private readonly IMailService mailService; private readonly SyncherSettings syncherSettings; public Syncher(ILogger logger, IMailService mailService, SyncherSettings syncherSettings) { this.logger = logger; this.mailService = mailService; this.syncherSettings = syncherSettings; } public async Task InvokeAsync() { var messages = await mailService.CheckMailAsync(SearchQuery.NotSeen); if (!messages.Any()) { return; } //var includeAddresses = aIHITSyncherSettings.IncludeAddresses.Any() ? aIHITSyncherSettings.IncludeAddresses.Split(",") : null; // var filtered = messages.Where(m => includeAddresses.Any(i => m.Envelope.From.Mailboxes.First().Address == i)).ToList(); var filtered = messages.Where(m => syncherSettings.IncludeAddressesArray.Any(i => m.Envelope.From.Mailboxes.First().Address == i)).ToList(); foreach ( var message in filtered) { } } } }