begin process at 2013 06 20 08:46:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

FileSystem

 > ENVOYER UN MAIL EN ASP.NET

ENVOYER UN MAIL EN ASP.NET


 Information sur la source

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :FileSystem Source .NET ( DotNet ) Classé sous :envoyer, mail, email, smtp, aspnet Niveau :Initié Date de création :23/11/2001 Vu :36 331

Auteur : everest

Ecrire un message privé
Site perso
Commentaire sur cette source (33)
Ajouter un commentaire et/ou une note

 Description

Il vous suffit de coller ce script sur une page, de la renommer mail.aspx, et vous pourrez envoyer des mails via ASP.NET
!!!! ATTENTION!!!!!!
Votre serveur doit accepter l'ASP.NET
Le .NET FRAMEWORK doit être installé sur le serveur

Source

  • <%@ Page Language="C#" Debug="True" %>
  • <%@ Import namespace="System.Web.Mail" %>
  • <script runat="server" language="C#">
  • void Envoi_Click(Object sender, EventArgs E) {
  • // évènement est déclenché sur click du bouton envoyer du formulaire
  • // Création de l'instance d'une nouvelle classe MailMessage
  • MailMessage maildef=new MailMessage();
  • // adresse de l'expéditeur et du destinataire
  • maildef.From = expediteur.Text;
  • maildef.To = destinataire.Text;
  • // sujet du message
  • maildef.Subject = sujet.Text;
  • // corps du message
  • maildef.Body = message.Value;
  • // adresse smtp du serveur de Mail
  • SmtpMail.SmtpServer = "smtp.infonie.fr";
  • // Envoie du message
  • SmtpMail.Send(maildef);
  • // confirmation de l'envoie
  • confirmation.Text="Le mail a été envoyé";
  • }
  • </script>
  • <HTML>
  • <HEAD>
  • </HEAD>
  • <BODY>
  • <form runat="server" method="POST">
  • <asp:label id="confirmation" runat="server" /><br>
  • Expéditeur : <br>
  • <asp:textbox id="expediteur" runat="server"/><br>
  • Destinataire :<br>
  • <asp:textbox id="destinataire" runat="server"/><br>
  • Sujet :<br>
  • <asp:textbox id="sujet" runat="server"/><br>
  • Message : <br>
  • <textarea id="message" runat="server"/><br>
  • <asp:button Text="Envoyer" OnClick="Envoi_Click" runat=server/>
  • </form>
  • </BODY>
  • </HTML
<%@ Page Language="C#" Debug="True" %>
<%@ Import namespace="System.Web.Mail" %>

<script runat="server" language="C#">

void Envoi_Click(Object sender, EventArgs E) {
// évènement est déclenché sur click du bouton envoyer du formulaire 

// Création de l'instance d'une nouvelle classe MailMessage
MailMessage maildef=new MailMessage();

// adresse de l'expéditeur et du destinataire
maildef.From = expediteur.Text;
maildef.To = destinataire.Text;

// sujet du message
maildef.Subject = sujet.Text;

// corps du message
maildef.Body = message.Value;

// adresse smtp du serveur de Mail
SmtpMail.SmtpServer = "smtp.infonie.fr";

// Envoie du message 
SmtpMail.Send(maildef);

// confirmation de l'envoie
confirmation.Text="Le mail a été envoyé";

} 

</script>

<HTML>
<HEAD>
</HEAD>

<BODY>

<form runat="server" method="POST">

<asp:label id="confirmation" runat="server" /><br>

Expéditeur : <br>
<asp:textbox id="expediteur" runat="server"/><br>

Destinataire :<br>
<asp:textbox id="destinataire" runat="server"/><br>

Sujet :<br>
<asp:textbox id="sujet" runat="server"/><br>

Message : <br>
<textarea id="message" runat="server"/><br>


<asp:button Text="Envoyer" OnClick="Envoi_Click" runat=server/>


</form>

</BODY>

</HTML
  

 Conclusion

Vous pouvez aussi utiliser les classes
//  MailAttachement (fichier joint)
MailAttachment fichier1 = new MailAttachment("c:\\fichier1.htm");
maildef.Attach ments.Add(fichier1);

//  MailFormat (brut ou html)
maildef.BodyFormat = MailFormat.Html;

//  MailPriority (basse, normale ou haute)

maidef.Priority = normal;
maildef.Priority = low;
maildef.Priority = high;


 Sources du même auteur

Source .NET (Dotnet) CALENDRIER EN ASP.NET

 Sources de la même categorie

LIST DIRECTORY WITH SPECIFIED EXTENSION & LINK par Syruis
Source avec une capture EXPLORATEUR ASP EN UN SEUL FICHIER SANS INSTALLATION par informatika2001
LISTING ET SUPPRESSION DE FICHIER par Jackboy
DÉCOUPER UNE CHAINE DE CARACTÈRE par bambina100
Source .NET (Dotnet) ASP.NET - CHARGER TOUS LES SOUS-RÉPERTOIRES DANS UN DATATABL... par fabrice69

 Sources en rapport avec celle ci

Source .NET (Dotnet) C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP par fabrice69
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 avec une capture Source .NET (Dotnet) ENVOI D'UN MAIL EN ASP.NET (GARANTIE 100% ET TRÈS SIMPLE) par CBphoenix
ENVOYER UN E-MAIL EN ASP par BinOff

Commentaires et avis

Commentaire de rodcobalt22 le 27/05/2002 16:21:19

sérieux il est pas mal ton code, mais des commentaire serait le bienvenue, je parle au nom des néophtie ( comme moi ).
rodcobalt22

Commentaire de Kholera le 10/10/2002 15:16:10

J'ai essayé au forma HTML, et ça fonctionne nickel... Le seul prob c'est qu'il semble que la propriété Body est une taille limite, car j'ai essayé avec la source d'une page "relativement" chargée (~14 Ko) et ça plante sans même afficher de page d'erreur.

Si qq'un connait cette taille limite ou a une soluc'... Merci !

Commentaire de jesusonline le 13/03/2003 19:13:44 administrateur CS

La source ne semble pas venir de toi je l'ai vu sur asp-php mais c pas la le pb. Pourrais tu me commenter cette ligne
SmtpMail.SmtpServer = "smtp.infonie.fr";
pourkoi infonie ou wanadoo c au pif comment qu'on fait pour savoir ce qu'il faut mettre

Commentaire de marloon le 15/05/2003 19:21:58

C 'est l'adresse de ton serveur smtp kil faut mettre à la place...

Par contre, si kelkun sait comment faire passer les sauts de ligne dans ce genre de mail, ca m'interesse fortement... Merci.

MarloonInc.

Commentaire de jesusonline le 15/05/2003 20:28:34 administrateur CS

ca doit etre de l'html donc &lt;br&gt; ou sinon essaye /n voila mais c pas sur

Commentaire de marloon le 15/05/2003 20:49:10

les sauts de lignes, j'ai mis
replace(.body,vbCrLf,"&lt;br&gt;")
qui fonctionne impeccablement.

Mais maintenant, j'ai le même probléme avec les accents....
Kelkun sait ??  Merci encore jesus !!   ;-)

Commentaire de jesusonline le 15/05/2003 21:06:32 administrateur CS

avec les accents ca doit etre encore pareil faut utiliser le code HTML par exemple pour un é il faut ecrire &eacute; j'ai pas ecrit pareil qu'avant, j'ai ecrit & eacute; sans l'espace entre les eux membres, pour taper un message tres long, tapes le dans dream, ou he crois que tu peut utiliser une fonctionpour ca je crois que c'est htmlencode.

apres verification dans le SDK voici la syntaxe precise

HttpUtility.HtmlEncode, méthode (String)  [Visual Basic]Voir aussi
HttpUtility, classe | HttpUtility, membres | System.Web, espace de noms | HttpUtility.HtmlEncode, liste de surcharge
Configuration requise
Plates-formes : Windows 2000, Windows XP Professional, Windows .NET Server family
Langage
C#

C++

JScript

Visual Basic

Afficher tout
Convertit une chaîne en chaîne codée en HTML pour une transmission HTTP fiable du serveur Web vers un client.

[Visual Basic]
Overloads Public Shared Function HtmlEncode( _
   ByVal s As String _
) As String
[C#]
public static string HtmlEncode(
   string s
);
[C++]
public: static String* HtmlEncode(
   String* s
);
[JScript]
public static function HtmlEncode(
   s : String
) : String;
Paramètres
s
Chaîne à coder.
Valeur de retour
Chaîne codée.

Notes
Si des caractères tels que des espaces et des signes de ponctuation sont passés dans un flux HTTP, ils risquent d'être mal interprétés à la réception. Le codage HTML convertit des caractères qui ne sont pas autorisés dans le langage HTML en équivalents d'entités de caractères ; le décodage HTML inverse le codage. Par exemple, lorsqu'ils sont incorporés dans un bloc de texte, les caractères &lt; et &gt; sont codés en tant que &lt; et &gt; pour une transmission HTTP.

normalement c bon ;-)

@+

Commentaire de marloon le 17/05/2003 10:39:30

Salut jesus,
merci pour tes reponses !!
J'ai essayé ca :

replace(mymessage.text,"é","&eacute;")

Mais ca ne fonctione pas !!!
Je sais pas comment faire...help !
Quand un é est programmé, il passe sans probléme mais si j'en mets dans mon textbox, y passe pas !!
Comment faire ?
Je vais essayer htmlencode mais je sais pas bien comment faire...

Commentaire de marloon le 17/05/2003 10:57:22

Pardon, j'ai ecrit des conneries et j epeux pas corriger..
alors j'ai essayé :

replace(mymessage.text,"é","&eacute;")
Mais ca ne fonctione pas !!!
J'ai aussi essayé htmlencode mais ca a pas l'air de changer grand chose...

Commentaire de marloon le 17/05/2003 11:35:21

et oui, il me mets des é a la place des & eacute; , donc veuillez corrigé svp...

Commentaire de jesusonline le 17/05/2003 11:43:17 administrateur CS

maildef.Subject = htmlencode(sujet.text)

sinon regarde ce que vaut htmlencode(sujet.text) dans un response.write et regarde le code HTML générer pour voir si le codage est effectué ou non normalement le é devient & eacute;

Commentaire de marloon le 17/05/2003 12:00:59

Je vais mettre mon code paske j'ai du mal a suivre..

&lt;%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" trace="true" %&gt;
&lt;%@ Import Namespace="System.Web.Mail" %&gt;
&lt;%@ Import Namespace="System.IO" %&gt;
&lt;script language="VB" runat="server"&gt;

Sub Page_load(sender As Object,e As EventArgs)
If Request.IsAuthenticated = true Then
            lblStatus.Text = "..:: Bienvenue " & User.Identity.Name
            lblStatus.visible = "True"
end if
End sub

Overloads Public Shared Function HtmlEncode(ByVal s As String) As String

End Function

Sub btn_gomail_click(s as object, e as eventargs)
Dim myMail as New mailmessage
With myMail

Dim strlocation as string = "c:inetpubwwwrootpouitadmin emp"
Dim strfichierup as string
strfichierup = Path.GetFileName(fichierup.PostedFile.FileName)
.from = "zoomzoom@pouit.fr"
.To = destinataire.text
.Subject = sujet.text
.Body = "&lt;h3&gt;Message envoyé !&lt;/h3&gt;"
.Body &= "A : " & destinataire.text &"&lt;br&gt;"
.Body &= "Sujet : " & sujet.text & "&lt;br&gt;"
.Body &= "Message : " & mymessage.text & "&lt;br&gt;"
.Body &= "Fichier joint : " & strfichierup & "&lt;br&gt;"
.Body &= "&lt;a href=http://&gt;"
.Body &= "MarloonInc&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=default.aspx&gt;Sommaire&lt;/a&gt;"
.Body = replace(.body,vbCrLf,"&lt;br&gt;")
.BodyFormat = MailFormat.Html

If strfichierup &lt;&gt; "" then

fichierup.PostedFile.SaveAs(strlocation & strfichierup)
Dim ofichierup as New MailAttachment(strlocation & strfichierup)
myMail.Attachments.Add(ofichierup)
End if
Try
SmtpMail.SmtpServer = "monserveur.fr"
SmtpMail.Send(myMail)
lblInfo.text &= .Body
Tabcompose.visible = false
If strfichierup &lt;&gt; "" then
File.Delete(strlocation & strfichierup)
End if
Catch ex as Exception
lblinfo.text = "Une erreur est survenue dans le traitement de votre message" & ex.Message.ToString
Tabcompose.visible = true
End Try
End With
end sub
&lt;/script&gt;

Commentaire de marloon le 17/05/2003 12:10:00

le response write de mon htmlencode(mymessage.text) reste vide !!

Commentaire de marloon le 17/05/2003 12:11:34

et le corp du message est vide lui aussi...
Voila comment je l'ai modifié..
.Body &= "Message : " & htmlencode(mymessage.text) & "&lt;br&gt;"

Commentaire de jesusonline le 17/05/2003 12:29:06 administrateur CS

normalement ca c bon : .Body &= "Message : " & htmlencode(mymessage.text) & "&lt;br&gt;" mais cette ligne te sert a rien:
Overloads Public Shared Function HtmlEncode(ByVal s As String) As String

End Function
et c peut etre pas impossible qu'elle est la cause du probleme car qd t'appeles cette fonction tu retournes aucun string donc se serait pour ca que t'as rien essaye sans cette ligne et normalement c bon

Commentaire de marloon le 17/05/2003 13:18:28

Et bé non,
quand j'enleve la fonction (ki est vide?) il me fait :

BC30451: Le nom 'htmlencode' n'est pas déclaré.

Commentaire de jesusonline le 17/05/2003 14:11:41 administrateur CS

voici l'exemple du SDK
L'exemple suivant code une chaîne en vue de sa transmission par HTTP. La chaîne nommée TestString qui contient le texte "This is a &lt;Test String&gt;." est codée, puis copiée dans la chaîne nommée EncodedString sous la forme "This+is+a+%3cTest+String%3e.".

Dim TestString As String = "This is a &lt;Test String&gt;."
Dim EncodedString As String = Server.HtmlEncode(TestString)

HtmlEncode est aussi un membre de System.Web.HttpUtility et s'utilise de la meme facon donc tu as juste a choisir l'une des deux methodes, je prendrais celle la car elle utilise un classe et c peut etre plus simple, mais normalement ca devrait qd meme marcher

.Body &= "Message : " & htmlencode(mymessage.text) & "&lt;br&gt;"
devient
.Body &= "Message : " & System.Web.HttpUtility.htmlencode(mymessage.text) & "&lt;br&gt;"

Commentaire de marloon le 17/05/2003 14:27:01

Avec "server.htmlencode" et "System.Web.HttpUtility.htmlencode(mymessage.text)" y'a plus besoin de la fonction...
Mais les accents passent toujours pas..
C a devenir fou.
Je passe l'url si tu veux essayer par toi même jesus..tu peux t'envoyer un petit mail..
http://marloon.zapto.org/admin/mail.aspx

Commentaire de jesusonline le 17/05/2003 16:54:29 administrateur CS

System.Web.Mail.MailMessage.BodyEncoding = System.Text.UTF8Encoding mais je sais pas si ca va servir a grand chose sinon dans ta page mais des RequiredFieldValidator cela t'evitera une gestion d'erreur par exemple lorsque t'envoie un mail sans @ etc.. mais je comprend pas pourkoi ca bug normalement ca devrait marchait. Regarde si t'as le SDK pour savoir comment marche la classe, sinon regarde chez www.microsoft.com

Commentaire de marloon le 17/05/2003 17:00:00

je te remercie de ton aide en tous cas jesusonline !.
Oui les requiredfield validator sont prévus mais la je bloque sur ca ...

Commentaire de mage le 18/05/2003 01:26:20

bonjour moi j'ai le message :"attendu" une personne peut me dire pourquoi voici ligne qui est coupable
Ligne 8 :  
Ligne 9 :  // Création de l'instance d'une nouvelle classe MailMessage
Ligne 10 : MailMessage maildef=New MailMessage();&lt;== ligne coupable
Ligne 11 :
Ligne 12 : // adresse de l'expéditeur et du destinataire
je vous en remercie par avance

Commentaire de marloon le 18/05/2003 09:24:10

Moi je comprends pas bien ta question ...
T'as un message d'erreur avec "attendu" ?
Koi ki est attendu ?

Commentaire de marloon le 18/05/2003 09:37:40

Yesssssss !!!  Ca y est !!
Trop bête !! J'ai trouvé ! Les accents passent enfin sans  aucuns problémes...
La soluce ?
Ben j'ai enlevé le :
"ContentType="text/html" ResponseEncoding="iso-8859-1" de ma directive @page c'est tout !
Pas besoin de replace ou server.htmlencode, ca passe tout seul finalement.
C'est fou non ? Keske tu en penses jesus ?

Commentaire de jesusonline le 18/05/2003 11:09:39 administrateur CS

lol on s'est bien embete pour rien :)
mais je comprendd tj pas pourkoi ca marche pas

Commentaire de marloon le 18/05/2003 12:21:45

mais ca marche comme j'ai fait la ... c cool !!  :-)
Merci, a+.

Commentaire de GillesWebmaster le 28/08/2004 10:57:07

marlon INC.peux tu mettre ton code dans la rubrique spéciale pour poser ces codes stp car les >< Ca ne me plait pas trop merci
G_____

Commentaire de oumart le 24/11/2004 03:09:45

Je trouve que tu n'est pas tres explicit....
Ou est ce qu'on met l'addresse  l'email qui va chargee de collect le donnees saisies dans les champs?
Qu'est ce qu'on doit mettre dans expediteur.txt?destinateur.txt?
Quand tu dis simple a utiliser,alors montre toutes les parties qu'on doit modifier.
Merci

Commentaire de cboulas le 14/10/2005 14:06:37

Juste pour préciser, ce code est insérable en VB dans une page ASP.Net dans la partie code VB.

Commentaire de ardi le 04/01/2006 12:29:29

J'aimerais utiliser un compte SMTP pour envoyer des mails. Comment préciser le username et le password? En fait j'utilise un serveur smtp qui n'autorise pas de open relay.

Merci d'avance

Commentaire de ardi le 04/01/2006 17:09:57

j'essaie le code mais je heurte sur le bug suivant:

Parser Error Message: The XML file c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config could not be loaded. Attempted to access an unloaded AppDomain.

quelqu'un pour m'aider:(

Commentaire de sergeszebe le 05/08/2009 10:57:22

salut a tous:
Nouveau je voudrait savoir s'il est logique qu'au debut on ait:
Page Language="VB" mais l'extension aspx il s'agit de quoi dans ce cas?asp.net ou vb.net?

je voudrais savoir si quelqu'un a le meme code en aspx ?

Commentaire de marloon le 05/08/2009 11:34:42

Salut Serge,
Mon code est du VB.net est fait parti d'une page ".aspx".
Il s'agit donc d'asp.net codé en VB.net.
;)

Commentaire de sergeszebe le 05/08/2009 11:42:14

ouf! c'est clair dans ma tete .
ok moi c'est pareil.
en effet je veux faire la meme chose.
Mais sauf que ton code ne marche pas chez moi.et on me demande d'inserer les information du formulaire (envoimsg)dans une base BDmessagerie
la base est en Sql server.
mais je ne parviens pas a envoyer mes mail en gros a creer un enregistrement dans une table.
pourvoir par la suite afficher ds un tablo l'historique des message.
pour vl'envoit des message voici ce que j'ai fait.
à l'aide please

code:

<%@ Page Language="VB" AutoEventWireup="false" %>
<%@ Import Namespace="System.Data.SqlClient" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    
    Protected Sub objet_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub
  
    Protected Sub btn_envoi_msg_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  
        Dim InsertText, lblMsg As String
        Dim j As Integer
        Dim int_Admin As Integer = 0
        Dim int_Fact As Integer = 0
        Dim int_Devis As Integer = 0
        ' Connection à  la base de données
        Dim cn As New SqlConnection()
        cn.ConnectionString = ConfigurationSettings.AppSettings("WTS_ExtraSQL")
        cn.Open()
              
        'création d'un mail
              
        InsertText = "INSERT INTO wts_messagerie_interne(expediteur,destinateur,objet,message) VALUES ( lb_expediteur.Text, lb_destinataire.Text lb_objet, txtmsg )"
      
        Dim Ins1 As New SqlCommand(InsertText, cn)
        Try
            j = Ins1.ExecuteNonQuery()
            lblMsg = "l'Agent a été Ajouté"
            Response.Redirect("accueil_societe.aspx")
        Catch ex As Exception
            lblMsg = "erreur lors de l'ajout"
        End Try
        Ins1 = Nothing
        cn.Close()
    End Sub

</script>
<html>..........</html>

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

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 S'envoyer un mail [ par Byrong ] Bonjour Comment puis je faire pour que les gens sur le site puisse m'envoyer un mail? Si j'envoie le mail a partir du pc connecter sur le même route Email et accusé de lecture [ par Byrong ] Bonjour Avez-vous une idée pour ajouter l'accusé de lecture car la méthode "mail.Headers.Add("Destination-Notification-To", expediteur)" ne fonction les e-mail veule pas partire [ par pascal199 ] voila des qu'ont rentre l'adresse e-mail aucun email est envoyer pour recuprer les infos de connection du membre. <?php include_once 'include/conf Mail au format texte ou 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 Comment envoyer un mail à plusieurs adresse e-mails dans base de données sql [ par espoirwakal ] Je vous prie de m'aider urgement: Je vais savoir comment envoyer un mail à plusieurs adresses e-mails contenus dans la base de données aspnet.mdf de s envoyer un email en asp/c# [ par bain ] Bonjour j'ai un problème au niveau de mon envoi d'email.Voici la partie de mon fichier .aspx.cs qui concerne ce point:using System.Web.Mail;        Ma SMTP [ par zchbaniz ] salut a tous moi maintenant je realise  une application pour envoyer les emails avecl'outil VISUALSTUDU et utliser comme language de programmation VB. Comment envoyer un email avec asp.net? [ par vinzemuls ] Bonjour, après avoir réglé le smtp comme ceci:fichier web.config:&lt;mailsettings&gt;&lt;smtp from="monsmtp@smtp.fr"&gt;&lt;network host="smtp.smtp.fr Envoi de mail [ par nindy13 ] Bonjour tout le monde,J'ai un souciavant j'envoyais un mail grâce à ce code Dim mail As<font color


Nos sponsors


Sondage...

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,279 sec (4)

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