viernes, 6 de febrero de 2015

Envio de email con .NET

Esta entrada muestra un método genérico realizado en C# que se puede utilizar para el envío de emails desde nuestra aplicación. No necesita mayor explicación, así que, manos a la obra.
public static void EnviarMail(string cuentaDe, string cuentaSMTP, string cuentaUsuario, string cuentaClave, string para, string asunto, string texto, string paraCopia = "", string paraOculto = "", string ficheroAdjunto = "", string tituloMail = "[TituloPorDefecto] ")
{
  try
  {
    System.Net.Mail.MailMessage correo = new System.Net.Mail.MailMessage();
    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();

    // SMTP
    smtp.Host = cuentaSMTP;
    smtp.Port = 25;
    //smtp.EnableSsl = True
    if (cuentaUsuario != "")
      smtp.Credentials = new System.Net.NetworkCredential(cuentaUsuario, cuentaClave);

    // De
    correo.From = new System.Net.Mail.MailAddress(cuentaDe);
    // Para
    if (para.Contains(";"))
    {
      string[] mails = para.Split(';');
      for (int i = 0; i < mails.Length; i++)
        correo.To.Add(mails[i]);
    }
    else
      correo.To.Add(para);

    // Para copia
    if (paraCopia.Contains(";"))
    {
      string[] mails = paraCopia.Split(';');
      for (int i = 0; i < mails.Length; i++)
        correo.CC.Add(mails[i]);
    }
    else if (paraCopia != "")
      correo.CC.Add(paraCopia);

    // Para oculto
    if (paraOculto.Contains(";"))
    {
      string[] mails = paraOculto.Split(';');
      for (int i = 0; i < mails.Length; i++)
        correo.Bcc.Add(mails[i]);
    }
    else if (paraOculto != "")
      correo.Bcc.Add(paraOculto);

    // Correo
    correo.Subject = tituloMail + asunto;
    correo.Body = texto;
    correo.IsBodyHtml = true;
    correo.Priority = System.Net.Mail.MailPriority.Normal;
    
    // Adjunto
    if (ficheroAdjunto != "")
    {
      if (System.IO.File.Exists(ficheroAdjunto))
      {
        System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(ficheroAdjunto);
        correo.Attachments.Add(attach);
      }
    }
    // Enviar
    smtp.Send(correo);

  }
  catch (Exception ex)
  {
    Log(ex.Message);
  }
}
Y ya está.

0 comentarios :

Publicar un comentario

 

Copyright @ 2015 Tosblama