Blog alskare

.Net y lo que surja

Enviar correo electrónico desde ASP.NET

Posted by alskare en 19/08/2009

Ya sé que es un tema repetido hasta la saciedad, pero en este caso, incluyo el código de un modo egoísta, así, cuando necesite crear de nuevo un elemento que permita enviar correo, sólo tengo que hacerme a mí mismo un Copy & Paste.

El ejemplo siguiente está pensado como una utilidad de notificación en una página Web, es decir, se conocen las direcciones de origen y destino con antelación y no es necesario el uso de adjuntos.

using System;
using System.Net;
using System.Net.Mail;


/// <summary>
/// Útiles de la aplicación
/// </summary>
public static class Utiles
{


    /// <summary>
    /// Envío de un correo electrónico
    /// </summary>
    /// <param name="subject">Asunto del mensaje</param>
    /// <param name="body"></param>
    public static void EnviaMensaje(string subject, string body)
    {
        try
        {
            string smtpServidor = "SERVIDOR_SMTP";
            string smtpUsuario = "CUENTA_USUARIO_STMP";
            string smtpPassword = "PASSWORD_SMTP";
            string cuentaDestino = "CUENTA_DESTINO";
            string cuentaOrigen = "CUENTA_ORIGEN";

            // Credenciales de autenticación
            NetworkCredential credenciales = new NetworkCredential(smtpUsuario, smtpPassword);
            // Permite a las aplicaciones enviar mensajes de correo electrónico mediante el protocolo SMTP 
            SmtpClient cliente = new SmtpClient(smtpServidor);

            // Se descartan las credenciales por defecto
            cliente.UseDefaultCredentials = false;
            // Credenciales de autenticación
            cliente.Credentials = credenciales;
            // Los mensajes de correo electrónico se envían a un servidor SMTP a través de la red
            cliente.DeliveryMethod = SmtpDeliveryMethod.Network;

            // Dirección de destino
            MailAddress direccionDestino = new MailAddress(cuentaDestino, "Formulario Web");

            // Dirección de origen
            MailAddress direccionOrigen = new MailAddress(cuentaOrigen);

            // Mensaje
            MailMessage mensaje = new MailMessage();
            mensaje.From = direccionOrigen;
            mensaje.To.Add(direccionDestino);
            mensaje.Subject = DateTime.Now.ToString() + " " + subject;
            mensaje.Body = body;
            mensaje.IsBodyHtml = false;

            // Envío del mensaje
            cliente.Send(mensaje);

            // Limpieza
            mensaje = null;
            direccionOrigen = null;
            direccionDestino = null;
            credenciales = null;
            cliente = null;
        }
        catch { }
    }


}

Una respuesta to “Enviar correo electrónico desde ASP.NET”

  1. […] el HTMLEditor de AjaxControlToolkitValidar Número de IVA VIESEscribir texto en una fotografíaEnviar correo electrónico desde ASP.NETEjecución del código del blog « Gestionar cuentas de Outlook […]

Sorry, the comment form is closed at this time.

 
A %d blogueros les gusta esto: