Send Email Asp.net Mvc

Asked

Viewed 48 times

0

good afternoon guys, I need a help, I don’t know if I’m doing wrong more when I try to send an email, through code in the controller nothing happens, can you give me a help of what might be waking up wrong? does not generate any error simply do not get email to the recipient...if you manage to give me this strength I am grateful

 public ActionResult SendEmail()
        {
            MailMessage objEmail = new MailMessage();
            //rementente do email
            objEmail.From = new MailAddress("[email protected]");

            //email para resposta(quando o destinatário receber e clicar em responder, vai para:)
            //objEmail.ReplyTo = new MailAddress("[email protected]");

            //destinatário(s) do email(s). Obs. pode ser mais de um, pra isso basta repetir a linha
            //abaixo com outro endereço
            objEmail.To.Add("[email protected]");

            //se quiser enviar uma cópia oculta pra alguém, utilize a linha abaixo:
           // objEmail.Bcc.Add("[email protected]");

            //prioridade do email
            objEmail.Priority = MailPriority.High;

            //utilize true pra ativar html no conteúdo do email, ou false, para somente texto
            objEmail.IsBodyHtml = true;

            //Assunto do email
            objEmail.Subject = "Assunto";

            //corpo do email a ser enviado
            objEmail.Body = "Conteúdo do email. Se ativar html, pode utilizar cores, fontes, etc.";

            //codificação do assunto do email para que os caracteres acentuados serem reconhecidos.
            objEmail.SubjectEncoding = Encoding.GetEncoding("ISO-8859-1");

            //codificação do corpo do emailpara que os caracteres acentuados serem reconhecidos.
            objEmail.BodyEncoding = Encoding.GetEncoding("ISO-8859-1");

            //cria o objeto responsável pelo envio do email
            SmtpClient objSmtp = new SmtpClient();

            //endereço do servidor SMTP(para mais detalhes leia abaixo do código)
            objSmtp.Host = "SMTP.office365.com";
            objSmtp.Port = 587;

                     //para envio de email autenticado, coloque login e senha de seu servidor de email
                     //para detalhes leia abaixo do código
            objSmtp.Credentials = new NetworkCredential("exemplo.com.br", "senha");

            //envia o email
            objSmtp.Send(objEmail);
            return View("Index");
        }

  • Already tried to activate ssl? objSmtp.EnableSsl = true; According to this documentation it is necessary: https://support.office.com/en-us/article/pop-and-imap-email-settings-for-outlook-8361e398-8af4-4e97-b147-6c6c4ac95353

  • Dude show, it worked, thank you so much

  • Don’t forget to accept the answer :)

1 answer

0


According to the Documentation of Office365, to make use of SMTP server it is necessary to activate encryption STARTTLS.

IMAP Server: outlook.office365.com Port: 993 Encryption: SSL/TLS

POP Server: outlook.office365.com Port: 995 Encryption: SSL/TLS

SMTP Server: smtp.office365.com Port: 587 Encryption: STARTTLS

To do this in the code shown, just add objSmtp.EnableSsl = true; before objSmtp.Send(objEmail);.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.