L'envoi d'E-mail à l'aide de C#
J'ai besoin d'envoyer des mails via mon application en C#.
Je viens d'une VB 6 arrière-plan, et a eu beaucoup de mauvaises expériences avec le contrôle MAPI.
Tout d'abord, MAPI n'a pas en charge les e-mails HTML et le deuxième, tous les e-mails ont été envoyés à mon courrier par défaut de la boîte d'envoi. Donc, j'ai encore besoin de cliquer sur envoyer recevoir.
Si j'avais besoin d'envoyer en masse html corsé e-mails (100 - 200), quelle serait la meilleure façon de le faire en C#?
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le Système.Net.Mail.MailMessage classe de l' .NET framework.
Vous pouvez trouver le La documentation MSDN ici.
Voici un exemple simple (extrait de code):
<system.net><mailSettings>
dans votre fichier de configuration. J'en utilise tout le temps pour envoyer du courrier à un répertoire pendant le développement, puis de passer à envoyer pour de vrai lorsque vous êtes prêt à aller vivre.replyTo
attribut est obsolète, maintenant vous devez utilisermyMail.ReplyToList.Add(replyTo);
qui permet de répondre à de multiples adresses. Vous pouvez aussi extraire les attributs du fichier de configuration avecConfigurationManager.appSettings["replyTo"]
si vous les avez mis comme ceci:<configuration> <appSettings> <add key="replyTo" value="[email protected]"/> </appSettings> </configuration>
La meilleure façon d'envoyer des courriels de masse pour plus de moyen plus rapide est d'utiliser des threads.J'ai écrit cette console application pour envoyer des courriels de masse.J'ai séparé l'email en vrac ID en deux lots par la création de deux pools de threads.
J'ai défini 10 recepients dans le tableau de la liste pour un échantillon.Il permettra de créer deux lots de courriels afin de créer deux pools de threads pour envoyer des mails.Vous pouvez choisir les détails de votre base de données.
Vous pouvez utiliser ce code à copier /coller dans une application console.(En remplacement du programme.cs fichier).Ensuite, l'application est prête à l'utilisation.
J'espère que cela vous aide à vous :).
Code:
E-Mails De Masse:
Serveurs SMTP ont généralement une limite sur le nombre de connexion chapeau peut gérer à la fois, si vous essayez d'envoyer des centaines d'e-mails de l'application peut sembler ne pas répondre.
Solutions:
L' .NET framework a certaines classes intégrées qui vous permet d'envoyer des e-mails via votre application.
Vous devriez jeter un oeil dans le Système.Net.Le courrier de l'espace de noms, où vous trouverez les MailMessage et SmtpClient classes.
Vous pouvez définir la BodyFormat de la classe MailMessage à MailFormat.Html.
Il pourrait également être utile si vous utilisez de la AlternateViews propriété de la classe MailMessage, de sorte que vous pouvez fournir un texte brut de la version de votre courrier, de sorte qu'il peut être lu par les clients qui ne prennent pas en charge le format HTML.
http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.alternateviews.aspx
Vous pouvez envoyer un e-mail à l'aide de SMTP ou CDO
à l'aide de SMTP:
source : C# e-Mail SMTP
Source: C# CDO e-Mail
Viril
Je peux que recommander fortement la aspNetEmail bibliothèque: http://www.aspnetemail.com/
La
System.Net.Mail
, vous obtiendrez quelque part, si vos besoins ne sont que de base, mais si vous avez des problèmes, s'il vous plaît vérifier aspNetEmail. Il m'a sauvé un paquet de temps, et je sais que d'autres develoeprs aussi qui ne jurent que par elle!Utiliser l'espace de noms System.Net.Mail. Voici un lien vers la page MSDN
Vous pouvez envoyer des e-mails à l'aide de classe SmtpClient.
J'ai paraphrasé le code de l'échantillon, de sorte que la caisse MSDNfor détails.
La meilleure façon d'envoyer de nombreux courriels serait de mettre quelque chose comme cela dans forloop et de l'envoyer de suite!!!
Prendre un coup d'oeil à la FluentEmail de la bibliothèque.
J'ai blogué à ce sujet ici
Vous avez une belle et api fluent pour vos besoins:
Nous allons faire quelque chose en tant que solution complète :). Peut-être que ça peut aider ainsi.
C'est une solution pour l'envoi d'un courrier électronique de contenu et de joindre un fichier (ou sans pièce jointe) à de nombreuses adresses e-Mail. Bien sûr, en envoyant simplement un e-mail est une possibilité aussi. Le résultat est la Liste des objet avec des données ce qui est correct et ce qui ne l'est pas.
Vous pouvez utiliser Mailkit.MailKit est un Open Source multi-plateforme .NET, messagerie client de la bibliothèque qui est basé sur MimeKit et optimisé pour les appareils mobiles.
Il a plus de et les fonctions d'avance mieux que Système.Net.Mail
les messages (Ordinales du Sujet et de l'Jamie Zawinski threading
les algorithmes sont pris en charge).
Microsoft TNEF soutien par l'intermédiaire de MimeKit.
Vous pouvez télécharger à partir de ici.
Voir cet exemple vous pouvez envoyer un mail