private static IEnumerable <MailItem> CreateMailItems(ILogger logger, MimeMessage message, IConnector connector, IMailFolder folder, UniqueId uniqueId) { string messageEml = null; try { var stream = new MemoryStream(); message.WriteTo(stream); stream.Position = 0; //var reader = new StreamReader(stream,Encoding.UTF8, true); var reader = new StreamReader(stream); messageEml = reader.ReadToEnd(); } catch (Exception e) { logger.LogError(e, "Serialization failed"); } DateTimeOffset date = DateTimeOffset.MinValue; try { date = message.Date; } catch { } foreach (var address in message.From) { if (address is MailboxAddress mailboxAddress) { yield return(MailItem.CreateMailItem(mailboxAddress.Address, mailboxAddress.Name, connector.ServerKey, folder.FullName, uniqueId.Id, messageEml, date)); } } }