Problema de envio de email c#

alfinete

Power Member
bom dia estou numa app a enviar email com o code visto abaixo



Código:
 public bool SendEmail(EmailSendData EmailData, out string errMessage, bool isDeleteAtachs)
        {

            errMessage = string.Empty;
            string Protocol = string.Empty;
            Int32 SectType = 0;
            var message = new MailMessage();
            SmtpClient client = null;
            bool ISSendEmail = true;
            LogItem log;
            string DebugSendEmails = Configurations.DebugSendEmails;
            string MsgError = string.Empty;

            SentEmailLog EmailOg;
            try
            {
               
                Protocol = _Genericfunctions.DecodeBase64String(Configurations.SecurityProtocol);

                
                SectType = _Genericfunctions.GetSecurityType(Protocol);
                

                if (SectType > 0)
                {
                    //_logger.Error("", string.Format("[3] SendEmail , SecurityProtocolType  -> {0}", (SecurityProtocolType)(SectType)));

                    System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)(SectType);
                }
                if (!string.IsNullOrEmpty(EmailData.recepientEmail))
                {
                    var arrMails = EmailData.recepientEmail.Split(';');
                    foreach (var mailRec in arrMails) message.To.Add(new MailAddress(mailRec, EmailData.recepientName));
                }

             

                if (!string.IsNullOrEmpty(EmailData.mailCC))
                {
                    var arrMails = EmailData.mailCC.Split(';');
                    foreach (var mailRec in arrMails) message.CC.Add(new MailAddress(mailRec));
                }

                

                if (!string.IsNullOrEmpty(EmailData.mailBCC))
                {
                    var arrMails = EmailData.mailBCC.Split(';');
                    foreach (var mailRec in arrMails) message.Bcc.Add(new MailAddress(mailRec));
                }

               

                if (null != EmailData.attachmentPaths)
                {
                    foreach (var attch in EmailData.attachmentPaths)
                    {
                        if (File.Exists(attch)) message.Attachments.Add(new Attachment(attch));

                    }
                }

                message.From = new MailAddress(EmailData.senderEmail, EmailData.senderName);
               
                message.Subject = EmailData.subject;

                message.Body = EmailData.messageBody;
              

                message.IsBodyHtml = true;
                using (client = new SmtpClient(EmailData.smtpServer, EmailData.smtpPort != 0 ? EmailData.smtpPort : 25))
                {
                    //Usar antes de chamar as credenciais da conta de email
                    client.EnableSsl = EmailData.EnabledSsl;
                   

                    client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                    
                    client.UseDefaultCredentials = EmailData.DefaultCredentials;
                    //Credenciais
                    if (!EmailData.DefaultCredentials)
                        client.Credentials = new System.Net.NetworkCredential(EmailData.UserName, EmailData.Password);

                   
                   
                    client.Send(message);
                   
                    ISSendEmail = true;

                }

            }
            catch (Exception ex)
            {


                ISSendEmail = false;

                errMessage = string.Format("message ->[{0}]; InnerException ->[{1}] ;StackTrace ->[{2}]", ex.Message, ex.InnerException, ex.StackTrace);
                _logger.Error(ex, string.Format("SendEmail. Error={0}", errMessage));



                
                    log = new LogItem
                    {
                        EventId = 16,
                        LoggerName = "[16] SendEmail catch",
                        Message = string.Format("[16] SendEmail message -[{0}]", errMessage)

                    };

                    _logger.Log(log);



                EmailOg = new SentEmailLog
                {

                    MailTypeID = EmailData.EmailTypeID,
                    Bcc = EmailData.mailBCC,
                    CC = EmailData.mailCC,
                    RequestID = EmailData.RequestID,
                    From = EmailData.senderEmail,
                    To = EmailData.recepientEmail,
                    Sent = ISSendEmail,
                    SentDate = DateTime.Now,
                    Subject = EmailData.subject,

                };




                SaveEmailSentLog(EmailOg);

                return false;
            }
            finally
            {
                DisposeMessageEmail(client, message, EmailData, isDeleteAtachs);
            }

             EmailOg = new SentEmailLog
            {

                MailTypeID = EmailData.EmailTypeID,
                Bcc = EmailData.mailBCC,
                CC = EmailData.mailCC,
                RequestID = EmailData.RequestID,
                From = EmailData.senderEmail,
                To = EmailData.recepientEmail,
                Sent = ISSendEmail,
                SentDate = DateTime.Now,
                Subject = EmailData.subject,
               
            };

          

           
            SaveEmailSentLog(EmailOg);


            return ISSendEmail;
        }
        
        
        
        
        
        public Int32 GetSecurityType(string SecType)
        {
            Int32 SecProt = 0;
            switch (SecType)
            {
                case "Ssl3":
                    SecProt = 48;
                    break;

                case "Tls12":
                    SecProt = 192;
                    break;

                case "Tls11":
                    SecProt = 768;
                    break;

                case "Tls":
                    SecProt = 3072;
                    break;
                default:activa o 
                    SecProt = 0;
                    break;
            }

            return SecProt;


        }








há duas /3 semanas envia tudp bem para as confs abaixo
  • isbodyhtml = true
  • enamlesll = true
  • defaultcredentials = false
  • email envio - [email protected]
  • smtp-mail.outlook.com
  • porto -587

agora dá os seguintes erros



Código:
Unable to read data from the transport connection: net_io_connectionclosed

Código:
{"The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, basic authentication is disabled. [PAZP264CA0231.FRAP264.PROD.OUTLOOK.COM 2024-11-28T09:08:42.312Z 08DD0F481A6F7A61]"}



agradecia uma ajuda para esta situação

ja estive a testar com configurações de gmail e yahoo e dá os mesmos erros
 
Pelo o que percebi só quem tem office365 e que tem possibilidade de "ativar" uma opção e continuar a enviar emails dos seus programas por smtp. As contas normais do outlook já não dá. Eu tive de criar uma conta gmail para ter as minhas notificações novamente.
 
Back
Topo