begin process at 2010 02 10 06:49:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-mail

 > C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP

C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-mail Source .NET ( DotNet ) Classé sous :email, smtp, mail Niveau :Débutant Date de création :15/06/2006 Date de mise à jour :16/06/2006 10:55:25 Vu :49 160

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note


 Description

Voila une fonction C# très simple permettant d'envoyer un mail via SMTP.

Source

  • using System.Web.Mail;
  • ...
  • /// <summary>
  • /// Send Mail for User by SMTP
  • /// </summary>
  • /// <param name="Contenu">Mail Boby</param>
  • /// <param name="Subject">Mail subject</param>
  • /// <param name="MailTo">Mail to adress</param>
  • /// <param name="MailFrom">Mail from adress</param>
  • /// <param name="SMTPServer">SMTP Server to use</param>
  • /// <param name="InHTML">Body Mail in HTML or not</param>
  • /// <returns>Send Mail sent OK ou Error</returns>
  • public static string SendMail(StringBuilder Contenu, string Subject, string MailTo, string MailFrom, string SMTPServer, bool InHTML)
  • {
  • string Retour = string.Empty;
  • MailMessage msg = null;
  • System.Text.Encoding MyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
  • try
  • {
  • msg = new MailMessage();
  • msg.Body = Contenu.ToString();
  • msg.BodyEncoding = MyEncoding;
  • if (InHTML)
  • {
  • msg.BodyFormat = MailFormat.Html;
  • }
  • else
  • {
  • msg.BodyFormat = MailFormat.Text;
  • }
  • msg.Subject = Subject;
  • msg.From =MailFrom;
  • msg.To = MailTo;
  • SmtpMail.SmtpServer = SMTPServer;
  • SmtpMail.Send(msg);
  • Retour = "Mail sent to "+ MailTo;
  • }
  • catch(Exception ex)
  • {
  • Retour = "Error in Sendmail function - Details : "+ ex.ToString();
  • }
  • finally
  • {
  • msg = null;
  • MyEncoding = null;
  • }
  • return Retour;
  • }
using System.Web.Mail;

...


/// <summary>
/// Send Mail for User by SMTP
/// </summary>
/// <param name="Contenu">Mail Boby</param>
/// <param name="Subject">Mail subject</param>
/// <param name="MailTo">Mail to adress</param>
/// <param name="MailFrom">Mail from adress</param>
/// <param name="SMTPServer">SMTP Server to use</param>
/// <param name="InHTML">Body Mail in HTML or not</param>
/// <returns>Send Mail sent OK ou Error</returns>

public static string SendMail(StringBuilder Contenu, string Subject, string MailTo, string MailFrom, string SMTPServer, bool InHTML)
{
	string Retour = string.Empty;
	MailMessage msg = null;
	System.Text.Encoding MyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
	try
	{
		msg = new MailMessage(); 
		msg.Body = Contenu.ToString();
		msg.BodyEncoding = MyEncoding;
		if (InHTML)
		{
			msg.BodyFormat = MailFormat.Html;
		}
		else
		{
			msg.BodyFormat = MailFormat.Text;
		}
		msg.Subject = Subject; 
		msg.From =MailFrom; 
		msg.To = MailTo; 
		SmtpMail.SmtpServer = SMTPServer; 
		SmtpMail.Send(msg); 
		Retour = "Mail sent to "+ MailTo;
	}
	catch(Exception ex)
	{
		Retour = "Error in Sendmail function - Details : "+ ex.ToString();
	}
	finally
	{
		msg = null;
		MyEncoding = null;
	}
	return Retour;
}

 Conclusion

Cette fonction est utilisable telque.

Bon coding

Romelard Fabrice


 Historique

16 juin 2006 10:55:25 :
Ajout de la gestion de l'encoding pour le corps du texte.

 Sources du même auteur

Source .NET (Dotnet) SHAREPOINT 2007 - OBTENIR LA LISTE DES WEBPARTS DANS UNE PAG...
Source .NET (Dotnet) SHAREPOINT 2007 - OBTERNIR LA LISTE DES FEATURES D'UN SITE
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES COLLATIONS SHAREPOINT...
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES LANGUES INSTALLÉES DA...
Source avec une capture Source .NET (Dotnet) ASP.NET 2.0 - USER CONTROL D'AFFICHAGE DE LA MÉTÉO VIA LE WE...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) HIDDENEMAIL : MASQUER VOS EMAILS AUX ROBOTS par sebmafate
Source .NET (Dotnet) ASP.NET - ENVOYER UN MAIL AVEC JMAIL.NET par epetegnief
Source .NET (Dotnet) CLASS : NEWSLETTER AVEC OPTIN par vladam
Source avec Zip E-MAIL EN JMAIL SIMPLE ET EFFICACE + FORMULAIRE par GillesWebmaster
ENVOIE MAIL EN SMTP DEPUIS WINDOWS 2003 / ASP SANS COMPOSANT par lord mathius

 Sources en rapport avec celle ci

Source avec Zip E-MAIL EN JMAIL SIMPLE ET EFFICACE + FORMULAIRE par GillesWebmaster
ENVOIE MAIL EN SMTP DEPUIS WINDOWS 2003 / ASP SANS COMPOSANT par lord mathius
Source avec Zip Source .NET (Dotnet) TENIR VOS VISITEURS INFORMÉS DE LA DISPONIBILITÉ D'UNE PAGE ... par li9
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI D'UN MAIL EN ASP.NET (GARANTIE 100% ET TRÈS SIMPLE) par CBphoenix
Source .NET (Dotnet) ENVOYER UN MAIL EN ASP.NET par everest

Commentaires et avis

Commentaire de poppyto le 16/06/2006 10:14:31 administrateur CS

Manque plus que l'encoding en System.Text.Encoding.GetEncoding("Windows-1252") du sujet et du corps du message et ça sera nickel ^^

Commentaire de fabrice69 le 16/06/2006 10:53:36 administrateur CS

Bonne remarque et merci.
Je l'ajoute de suite.

Pour la version C# 2.0, vous pouvez trouver le code ici :
- http://www.codyx.org/snippet_envoyer-mail_87.aspx#225

PS: SubjectEncoding n'est pas géré en C# 1.1.

Romelard Fabrice

Commentaire de poppyto le 16/06/2006 18:22:57 administrateur CS

[Troll] ça existe encore le 1.1 ? :D

Commentaire de sanaanour le 18/07/2006 12:25:45

Merci de votre code,il m’a aidé beaucoup dans m’application et j’ai besoin d’une autre code pour remplir un contrôle de liste à partir d'une base de données SQL server  (DopDownList) au C#

Commentaire de 1gima1 le 14/10/2006 06:07:13

Bonjour, je voulais le code pour m'envoyer un email avec smtp en vb.net sur un formulaire en asp.net, en me servant de Visual Web Developer 2005. Malgré mes efforts, rien ne marche...Le
System.Web.Mail.MailMessage est obselete, il veut:System.Net.Mail.MailMessage mais ça ne fonctionne pas plus!
Au secours 1gima1

Commentaire de poppyto le 14/10/2006 10:52:17 administrateur CS

>>> 1gima1
http://www.codyx.org/snippet_envoyer-mail_87.aspx

Commentaire de 1gima1 le 14/10/2006 21:42:51

Merci pour le lien, c'est formidable! Présentement, j'essaie d'adapter le code vb.net à mon tp(envoyer le contenu d'un label à notre email personnel. Tout ceci en travaillant sur Visual Web Develpper 2005)Il dit que le format des arguments est incorrect.Mardi j'ai un examen, j'espère l'adapter d'ici là...

Merci infiniment,l'aide est grandement appréciée. 1gima1

Commentaire de bela27 le 15/10/2006 09:22:44

Bonjour à tous,
j'ai repris le code défini par fabrice69 pour l'envoi d'un mail par une application c# mais lorsque je l'exécute j'obtiens l'erreur suivante:

Error in Sendmail function - Details : System.Web.HttpException: Le transport a
échoué dans sa connexion au serveur.
---> System.Reflection.TargetInvocationException: Exception has been thrown by
the target of an invocation. ---> System.Runtime.InteropServices.COMException (0
x80040213): Le transport a échoué dans sa connexion au serveur.

   --- End of inner exception stack trace ---
   at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr,
Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[]
namedParameters)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Bi
nder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers
, CultureInfo culture, String[] namedParams)
   at System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(Object obj, Stri
ng methodName, Object[] args)
   --- End of inner exception stack trace ---
   at System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(Object obj, Stri
ng methodName, Object[] args)
   at System.Web.Mail.SmtpMail.CdoSysHelper.Send(MailMessage message)
   at System.Web.Mail.SmtpMail.Send(MailMessage message)
   at courriel.SendMail(StringBuilder Contenu, String Subject, String MailTo, St
ring MailFrom, String SMTPServer, Boolean InHTML)

est-ce que quelqu'un peut m'aider SVP. Merci !
Bela27

Commentaire de bela27 le 15/10/2006 12:24:04

rebonjour à tous,
je viens de régler le problème, c'est le logiciel McAfee VirusScan qui bloquait l'accès. lorsque je le désactive, ça fonctionne. cela m'amène à poser une autre question: comment outrepasser la protection de McAfee lorsqu'il est activé ?

Merci.
Bela27

Commentaire de jimmy69 le 16/10/2006 14:38:19

salut salut,

il me fallait un bon exemple d'envoit de mail avec asp.net et te voila encore :-) !

tu es partout toi :-) asp net, php, sql, ...!

Merci pour ce code bien utile
Christophe

Commentaire de pat84 le 04/06/2009 20:39:14

Bonsoir,

Comment faire lorsque le serveur renvoie : 501 Syntax: EHLO hostname ?
Impossible de trouver une solution....

Help !!
Merci.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

html dans asp [ par fuji ] salut,j'envois un mail de confirmation à l'adresse de la personne qui s'est abonné à ma newsletter et j'arrive pas à mettre un texte à la ligne!Je vou Serveur SMTP SSL [ par esmjpe ] Je voudrais envoyer un mail par le biais d'un serveur sécurisé SSL.Il me faut donc deux choses:- l'envoi d'un mail à un serveur autre que le SMTP du s Pb SMTP [ par benj71 ] Voila mon pb:dans mon site, j'envoie des mails en auto lors de l'inscription d'une nouvelle personne.Ma fonction d'envoie de mail marche bien vu que j envoi de mail via cdonts et smtp...mail se retrouve dans badmail [ par VB ] qui connais un site sur la config smtp de iis car moi j'ai des messages qui sont dans le répetoire badmail quand j'envoi un mail ...???sinon ce serais AU SECOURS : SMTP ASPSMARTMAIL !!!!! [ par lawraC ] Bonjour,j'utilise aspSmartMail pour une appli web interne à ma société. Le site web est placé sur IIS , windows 2000.Lorsque j'essaie d'envoyer le mai Email Formulaire Web HTML [ par TORIUKE ] Salut,Je veux envoyer un email automatique à partir d'un formulaire. Quand je clic sur "envoyer", le mail part automatiquement au destinataire avec le problem formulaire en asp !!! [ par steve3960 ] steve3960bonjour j'ai un petit problem avec un script pour envoyer un formulaire voila mont prob j'ai un formulaire avec plusieur cham il envoye l'ema Trouver un serveur smtp qui ceuille de moi... [ par scoubigee ] Voici mon problem : jmail.SMTPMail error '8000ffff' The message was Problème d'accent inacceptable dans une date [ par lnp ] Voil&#224; le code : &lt;% REM recuperation des parametres nom = request.form("nom") ville = request.form("ville") email = request.form("email") if e Envoi d'un mail en asp.net 2.0 en html [ par AnnuMada ] Je d&#233;sire &#224; patire d'une page aspx envoyer un mail en html.Jusque l&#224; pas de probl&#233;me cela fonction tr&#233;s bien.Voici mon code &


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales