public static void Enviar(ConfigEmail config, string destinatario, string assunto, string corpo, Stream anexo = null, string tituloAnexo = null)
        {
            var listaDestinatarios = destinatario
                                     .Split(';')
                                     .Select(x => x.Trim())
                                     .ToList();

            Enviar(config, listaDestinatarios, assunto, corpo, anexo, tituloAnexo);
        }
        public static void Enviar(ConfigEmail config, List <string> listaDestinatarios, string assunto, string corpo, Stream anexo = null, string tituloAnexo = null)
        {
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress(config.EmailRemetente));

            foreach (var destinatario in listaDestinatarios)
            {
                message.To.Add(new MailboxAddress(destinatario));
            }

            message.Subject = assunto;

            var builder = new BodyBuilder
            {
                HtmlBody = corpo
            };

            if (anexo != null)
            {
                builder.Attachments.Add(tituloAnexo, anexo);
            }

            message.Body = builder.ToMessageBody();

            using (var client = new MailKit.Net.Smtp.SmtpClient())
            {
                // Necessário em alguns clientes
                if (config.DesprezarCertificado)
                {
                    client.ServerCertificateValidationCallback = (s, c, h, e) => true;
                }

                client.Connect(config.EnderecoSMTP, config.Porta, MailKit.Security.SecureSocketOptions.Auto);

                if (config.RequerAutenticacao)
                {
                    client.Authenticate(config.Usuario, config.Senha);
                }

                client.Send(message);
                client.Disconnect(true);
            }
        }