Forum-webmaster
Technique - programmation => Asp / Asp.net / IIS => Message commencé par: lucie le le 09-01-2004 a 14:16:27

Titre: envoi d'un email
Posté par: lucie le le 09-01-2004 a 14:16:27

Bonjour,
je suis en train de créer une page .aspx avec une textbox et un bouton valider. Je souhaite envoyer un mail à l'adresse xxxxx@toto.com quand l'utilisateur clique sur le bouton valider. Ici, xxxxx correspond à ce qui a été rentré dans la textbox. Est ce que quelqu'un peut m'aider? Je précise que je suis très très débutante....
Merci par avance

Titre: Re:envoi d'un email
Posté par: Netah le le 09-01-2004 a 15:42:53

en c# ou vb ?

Code:

   public class Mail
   {
      public string   To      = "contact@zoneb.org";
      public string   From   = "all@zoneb.org";
      public string   Subject   = "Sample Subject";
      public string   Body   = "a sample body";

      public bool    SendMail()
      {
         try
         {
            SmtpMail.Send(From, To, Subject, Body);
            return true;
         }
         catch
         {
            return false;
         }
      }

Ceci est une simple fonction d'envoi de mail que tu peux appeler lors d'un clic sur un btn ou avec la method PageLoad()

Il faut que ton hébergeur permette l'envoi de mails smtp, ce qui est souvent le cas.

PS : ca fait plaisir de voir des questions asp.net ici !

Titre: Re:envoi d'un email
Posté par: lucie le le 09-01-2004 a 15:56:27

merci beaucoup. Malheureusement, ca ne marche pas. Mais peut etre que je ne fais pas ce qu'il faut.
Je t'explique, je ne connais rien a asp.net pour l'instant. J'utilise microsoft asp.net web matrix pour générer mon code et mes pages.
De plus, je souhaiterais plus avoir quelque chose en vb plutot qu'en c.
J'espere que tu comprendras....
merci encore.

PS : Voici l'erreur qu'il me met pour l'instant :


************
Message d'erreur du compilateur: BC30456: '__control2' n'est pas un membre de 'ASP.NewFile_aspx.Mail'.

Erreur source:


Ligne 1 : <%@ Page Language="VB" %>

***************

Titre: Re:envoi d'un email
Posté par: Netah le le 09-01-2004 a 15:56:34

J'ai oublié de te répondre, donc je modif...
Désolé car je fais plus de c# que de vb. Néanmoins la traduction est simple et un bon exercice. Les objets et methodes sont les memes, seule la syntaxe change. Si je te donne un code c#, il ne faut pas préciser language=vb dans les directives.

La page complete :

Code:

<%@ Page %>
<%@ Import Namespace="System.Web.Mail" %>
<html>
   <head>
   </head>
   <script language="c#" runat="server">
      protected void Page_Load(object sender, EventArgs e)
      {
      }

      protected void btnGo_Click (object sender, System.EventArgs e)
      {
         MailMessage oMsg = new MailMessage();
         oMsg.From = txtFrom.Text;
         oMsg.To = txtTo.Text;
         oMsg.Body = txtBody.Text;
         SmtpMail.Send(oMsg);
      }
   </script>

   <body>
      <form runat="server">
         From:<asp:textbox runat="server" id="txtFrom" Height="22" Width="60"></asp:textbox><br/>
         To:<asp:textbox runat="server" id="txtTo" Height="22" Width="60"></asp:textbox><br/>
         Body:<asp:textbox runat="server" id="txtBody" Height="30" Width="160"></asp:textbox><br/>
         <asp:button id="btnGo" text="Go!" runat="Server" onclick="btnGo_Click" TabIndex="0" Height="22" Width="60" />
      </form>
   </body>
</html>


C'est une page simble mais tu pourras la compliquer plus tard. Si tu veux pouvoir envoyer des pieces jointes, fais nous signe.

Ce script fonctionne par exemple sur www.webmatrixhosting.net (hébergeur gratuit)

Titre: Re:envoi d'un email
Posté par: Netah le le 09-01-2004 a 16:10:21

J'ai essayé de te la "traduire" mais je n'ai pas testé, c juste pour te mettre sur la voie:

Voici la partie code vb à la place du c#. Le reste de la page est identique.


Code:

   <script language="vb" runat="server">
      Sub Page_Load(Source As Object, e As EventArgs)
      End Sub

      Sub btnGo_Click (Source As Object, e As EventArgs)
         Dim oMsg As New MailMessage
         oMsg.From = txtFrom.Text
         oMsg.To = txtTo.Text
         oMsg.Body = txtBody.Text
         SmtpMail.Send(oMsg)
      End Sub
   </script>



Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.