Fácil y rápida: Enviar correo electrónico utilizando el servidor SMTP de Gmail en .NET C#

Esto no es exactamente un nuevo tema, pero cuando necesitaba hacerlo, He encontrado un montón de "por qué no este trabajo para mí" y no demasiadas respuestas directas. Espero que alguien encuentra esta útil.

El siguiente trozo de código enviará un correo electrónico usando mi propia cuenta de gmail para hacerlo, incluidos los archivos adjuntos:

utilizando System.Net.Mail;
utilizando System.Net;

NetworkCredential loginInfo = Nuevo NetworkCredential("[Mi ID de Gmail]", "[Mi contraseña de Gmail]");
MailMessage MSG = Nuevo MailMessage();
MSG.From = Nuevo MailAddress("[M Id de Gmail]@gmail.com");
MSG.To.Add(Nuevo MailAddress("paul.galvin@arcovis.com"));
MSG.Tema = "Prueba de infopath dev tema";
MSG.Cuerpo = "<HTML><cuerpo><fuerte>Un mensaje fuerte.</fuerte></cuerpo></HTML>";
MSG.IsBodyHtml = verdadero;

foreach (cadena aFile en NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(Nuevo Accesorio(aFile));
} // Agregando archivos adjuntos.

SmtpClient cliente = Nuevo SmtpClient("smtp.gmail.com");
cliente.EnableSsl = verdadero;
cliente.UseDefaultCredentials = falso;
cliente.Credenciales = loginInfo;
cliente.Puerto = 587;
cliente.EnableSsl = verdadero;
cliente.Enviar(MSG);

Unos bits clave que me ralentizado y otras observaciones / Notas:

  • La primera línea que crea el objeto de loginInfo necesita usar el gmail de que ID despojado "@gmail.com”. Por lo tanto, Si mi dirección de correo electrónico de gmail "sharepoint@gmail.com"y mi contraseña es"xyzzy"entonces la línea tendría el siguiente aspecto:

NetworkCredential loginInfo = Nuevo NetworkCredential("sharepoint", "xyzzy");

  • Mi cuenta de gmail está configurado para usar SSL y no era un problema.
  • Hay algunos datos contradictorios en qué puerto. Utilicé el puerto 587 y funcionó bien para mí.
  • En mi caso, También necesitaba para enviar archivos adjuntos. El objeto NIPFD tiene un método que sabe dónde están mis archivos adjuntos. Vuelve un camino completamente (por ejemplo:. "c:\tempattachment1.jpg". En mi prueba, Tuve dos archivos adjuntos y ambos trabajaron bien.

Usé visual studio 2008 para escribir este código.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

Etiquetas de Technorati: ,,,

2 pensamientos sobre "Fácil y rápida: Enviar correo electrónico utilizando el servidor SMTP de Gmail en .NET C#

  1. Jeff

    El blog del equipo de PowerShell recientemente ha tenido un puesto similar que encontré valiosa como un administrador del servidor. Visual Studio es genial pero muchos de mis compañeros no son desarrolladores y no tienen una licencia adquirida. PowerShell se siente más como la línea de comandos y es más accesible para ellos. Sólo una sugerencia para los administradores de ahi.

    Mejor,
    Jeff (www.spjeff.com / @spjeff)

    Envío de correos electrónicos automáticos con enviar MailMessage

    http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx

    Respuesta

Contesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *