/** * */ private LogEmail mapper(MimeMessage NovaMensagem, int nroEmail) { LogEmail NovoEmail = new LogEmail(); NovoEmail.idEmailServidor = NovaMensagem.MessageId; NovoEmail.assunto = NovaMensagem.Subject; NovoEmail.nomeRemetente = (NovaMensagem.Sender != null ? NovaMensagem.Sender.Name : NovaMensagem.From.FirstOrDefault().Name); NovoEmail.emailRemetente = (NovaMensagem.Sender != null ? NovaMensagem.Sender.Address : NovaMensagem.From.Mailboxes.FirstOrDefault().Address); NovoEmail.corpoMensagem = ((NovaMensagem.HtmlBody ?? NovaMensagem.TextBody) ?? ""); NovoEmail.nroEmailServidor = nroEmail; NovoEmail.dtEnvio = NovaMensagem.Date.DateTime; NovoEmail.flagFluxo = "R"; //Fluxo de Recebimento if (NovaMensagem.ReplyTo.Count > 0) { NovoEmail.nomeResposta = NovaMensagem.ReplyTo.FirstOrDefault().Name; NovoEmail.emailResposta = NovaMensagem.ReplyTo.Mailboxes.FirstOrDefault().Address; } var ReturnPath = NovaMensagem.Headers.FirstOrDefault(x => x.Id == MimeKit.HeaderId.ReturnPath); if (ReturnPath != null) { NovoEmail.returnPath = UtilString.onlyEmailChars(ReturnPath.Value); } if (NovaMensagem.To != null) { foreach (var EmailTo in NovaMensagem.To.Mailboxes) { LogEmailDestino ODestino = new LogEmailDestino(); ODestino.emailDestino = EmailTo.Address; ODestino.nomeDestino = EmailTo.Name; ODestino.flagCopia = "N"; ODestino.flagCopiaOculta = "N"; NovoEmail.listaEmailDestino.Add(ODestino); } } if (NovaMensagem.Cc != null) { foreach (var EmailTo in NovaMensagem.Cc.Mailboxes) { LogEmailDestino ODestino = new LogEmailDestino(); ODestino.emailDestino = EmailTo.Address; ODestino.nomeDestino = EmailTo.Name; ODestino.flagCopia = "S"; ODestino.flagCopiaOculta = "N"; NovoEmail.listaEmailDestino.Add(ODestino); } } if (NovaMensagem.Bcc != null) { foreach (var EmailTo in NovaMensagem.Bcc.Mailboxes) { LogEmailDestino ODestino = new LogEmailDestino(); ODestino.emailDestino = EmailTo.Address; ODestino.nomeDestino = EmailTo.Name; ODestino.flagCopia = "S"; ODestino.flagCopiaOculta = "N"; NovoEmail.listaEmailDestino.Add(ODestino); } } return(NovoEmail); }