none
Como puedo mandar un correo de manera automatica, en intranet usando outlook 2016 y usando asp.net 2012 mi proyecto es web, gracias RRS feed

  • Pregunta

  • tengo un desarrollo en vs2012 web que funciona en la intranet pero no logro hacer que una alerta se mande por correo a determinado usuario de outlook 2016 ya que aqui se utiliza este servicio, o como puedo hacer para que a una cuenta de correo le llegue esta alerta 

    gracias 

    martes, 3 de julio de 2018 13:37

Respuestas

  • Hola, para enviar correos electrónicos desde C# puedes hacerlo con este metodo

    public static bool EnviarCorreo(string Destinatario, string Asunto, string Descripcion)
            {
                string CorreoMail  = "correosalida@dominio.com";
                string CorreroPasswd  = "contraseñacorreo";
                string CorreoSmtp  = "smtp.gmail.com";//En caso que el servidor de correo sea gmail
                int CorreoPort  = 587;//Puerto para gmail
                try
                {
                    // Montamos la estructura básica del mensaje...
                    MailMessage mail = new MailMessage();
                    mail.From = new MailAddress("correosalida@dominio.com");
                    mail.Bcc.Add(Destinatario);
                    mail.Subject = Asunto;
    
                    string text = Descripcion;
    
                    AlternateView plainView =
                        AlternateView.CreateAlternateViewFromString(text,
                                                Encoding.UTF8,
                                                MediaTypeNames.Text.Plain);
    
                    // Ahora creamos la vista para clientes que 
                    // pueden mostrar contenido HTML...
    
                    string html = Descripcion;//Puedes incluir información en formato html
    
    
                    AlternateView htmlView =
                        AlternateView.CreateAlternateViewFromString(html,
                                                Encoding.UTF8,
                                                MediaTypeNames.Text.Html);
    
                    // Creamos el recurso a incrustar. Observad
                    // que el ID que le asignamos (arbitrario) está
                    // referenciado desde el código HTML como origen
                    // de la imagen (resaltado en amarillo)...
    
    
    
                    // Por último, vinculamos ambas vistas al mensaje...
    
                    mail.AlternateViews.Add(plainView);
                    mail.AlternateViews.Add(htmlView);
    
                    // Y lo enviamos a través del servidor SMTP...
    
                    using (SmtpClient cliente = new SmtpClient(CorreoSmtp, CorreoPort))
                    {
                        cliente.EnableSsl = true;
                        cliente.Credentials = new NetworkCredential(CorreoMail, CorreroPasswd);
                        cliente.Send(mail);
                    }
                    return true;
                }
                catch (Exception Ex)
                {                
                    return false;
                }
            }

    Solo debes cambiar donde están los correos de salida por el correo desde el cual se van a mandar los mensajes, la contraseña y los puertos de tu servidor de correo.

    Saludos.

    martes, 3 de julio de 2018 14:34

Todas las respuestas

  • Hola Si en tu aplicación usas una Base de datos como SQL, por practicidad y auditoria yo te recomendaria hacer uso de Database Mail, el cual le permite a SQL Server enviar los correos, por ejemplo tus correos podrías insertarlos a una tabla que tu diseñes, y configurar un correo electrónico de salida que darás de alta en SQL Server en la opción DataBase Mail, y mediante un Job estarias verificando todos los correos nuevos que se insertan en tu tabla para ser enviados, eso te permitiría un mayor control, y de igual manera tendrías un Log de que se ha enviado o que se encuentra atorado.

    Saludos


    Carlos Aldi

    martes, 3 de julio de 2018 14:09
  • Hola, para enviar correos electrónicos desde C# puedes hacerlo con este metodo

    public static bool EnviarCorreo(string Destinatario, string Asunto, string Descripcion)
            {
                string CorreoMail  = "correosalida@dominio.com";
                string CorreroPasswd  = "contraseñacorreo";
                string CorreoSmtp  = "smtp.gmail.com";//En caso que el servidor de correo sea gmail
                int CorreoPort  = 587;//Puerto para gmail
                try
                {
                    // Montamos la estructura básica del mensaje...
                    MailMessage mail = new MailMessage();
                    mail.From = new MailAddress("correosalida@dominio.com");
                    mail.Bcc.Add(Destinatario);
                    mail.Subject = Asunto;
    
                    string text = Descripcion;
    
                    AlternateView plainView =
                        AlternateView.CreateAlternateViewFromString(text,
                                                Encoding.UTF8,
                                                MediaTypeNames.Text.Plain);
    
                    // Ahora creamos la vista para clientes que 
                    // pueden mostrar contenido HTML...
    
                    string html = Descripcion;//Puedes incluir información en formato html
    
    
                    AlternateView htmlView =
                        AlternateView.CreateAlternateViewFromString(html,
                                                Encoding.UTF8,
                                                MediaTypeNames.Text.Html);
    
                    // Creamos el recurso a incrustar. Observad
                    // que el ID que le asignamos (arbitrario) está
                    // referenciado desde el código HTML como origen
                    // de la imagen (resaltado en amarillo)...
    
    
    
                    // Por último, vinculamos ambas vistas al mensaje...
    
                    mail.AlternateViews.Add(plainView);
                    mail.AlternateViews.Add(htmlView);
    
                    // Y lo enviamos a través del servidor SMTP...
    
                    using (SmtpClient cliente = new SmtpClient(CorreoSmtp, CorreoPort))
                    {
                        cliente.EnableSsl = true;
                        cliente.Credentials = new NetworkCredential(CorreoMail, CorreroPasswd);
                        cliente.Send(mail);
                    }
                    return true;
                }
                catch (Exception Ex)
                {                
                    return false;
                }
            }

    Solo debes cambiar donde están los correos de salida por el correo desde el cual se van a mandar los mensajes, la contraseña y los puertos de tu servidor de correo.

    Saludos.

    martes, 3 de julio de 2018 14:34