Facile et rapide: Envoyer un courriel en utilisant le serveur SMTP de Gmail dans.NET C#

Ce n'est pas exactement un nouveau sujet, mais quand j'avais besoin de le faire, J'ai trouvé beaucoup de « pourquoi ne ce travail pour moi » et pas trop de réponses directes. J'espère que quelqu'un trouve cela utile.

Le bit suivant de code enverra un courriel à l'aide de mon compte gmail pour le faire, y compris les pièces jointes:

à l'aide de System.net.mail;
à l'aide de System.NET;

NetworkCredential loginInfo = Nouveau NetworkCredential("[Mon ID Gmail]", "[Mon mot de passe Gmail]");
MailMessage MSG = Nouveau MailMessage();
MSG.From = Nouveau MailAddress("[M Id de Gmail]@gmail.com");
MSG.To.Add(Nouveau MailAddress(« paul.galvin@arcovis.com"));
MSG.Sujet = « Test infopath dev objet";
MSG.Corps = "<html><corps><forte>Un message fort.</forte></corps></html>";
MSG.IsBodyHtml = True;

foreach (chaîne aFile dans NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(Nouveau Pièce jointe(aFile));
} // Ajout de pièces jointes.

SmtpClient client = Nouveau SmtpClient(« smtp.gmail.com");
client.EnableSsl = True;
client.UseDefaultCredentials = faux;
client.Informations d'identification = loginInfo;
client.Port = 587;
client.EnableSsl = True;
client.Envoyer(MSG);

Quelques bits clés qui me ralentissent et autres observations / Notes:

  • La première ligne qui crée l'objet loginInfo doit utiliser la gmail de QU'ID dépouillé « @gmail.com”. Si, Si mon adresse de courriel gmail « sharepoint@gmail.com« et mon mot de passe est « xyzzy » puis la ligne ressemblerait:

NetworkCredential loginInfo = Nouveau NetworkCredential(« sharepoint", "xyzzy");

  • Mon compte gmail est configuré pour utiliser SSL, et ce n'était pas un problème.
  • Il y a des informations contradictoires là-bas sur quel port utiliser. J'ai utilisé le port 587 et cela a fonctionné parfaitement pour moi.
  • Dans mon cas, J'ai également besoin d'envoyer des pièces jointes. Cet objet NIPFD a une méthode qui sait où se trouvent mes pièces jointes. Il retourne un chemin d'accès complet (e.g. « c:\tempattachment1.jpg". Dans mon test, J'ai eu deux pièces jointes et ils ont tous deux travaillent amende.

J'ai utilisé visual studio 2008 pour écrire ce code.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Tags Technorati: ,,,

2 réflexions sur "Facile et rapide: Envoyer un courriel en utilisant le serveur SMTP de Gmail dans.NET C#

  1. Jeff

    Le blog de l'équipe de PowerShell a récemment eu un poste similaire que j'ai trouvé précieux comme un administrateur de serveur. Visual Studio est grande, mais beaucoup de mes pairs ne sont pas des développeurs et n'ont pas une licence achetée. PowerShell se sent plus comme la ligne de commande et n'est plus accessible pour eux. Juste une suggestion pour les admins là-bas.

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

    Envoi d'emails automatiques avec Send-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

    Réponse

Laissez une réponse à Jeff Annuler la réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *