IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[c#, VS2005] Problème envoi d'un mail


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut [c#, VS2005] Problème envoi d'un mail
    bonsoir,
    j'essaie de créer une fonction qui envoie à mail en suivant le modèle de l'article : http://webman.developpez.com/article.../email/csharp/

    Dans mon essai, le mail serait envoyé par Expediteur@MonDomaine.com à Destinataire@domaine.com.

    J'ai du mal à comprendre si le problème vient des paramètres du compte smtp ou bien d'un paramètrage qu'il faudrait effectuer sur ce serveur ?

    Si quelqu'un a une idée

    Message d'erreur :
    Le message n'a pas pu être envoyé vers le serveur SMTP. Le code d'erreur de transport était 0x80040217. La réponse du serveur était not available
    En en-tête de mon fichier aspx référence au NameSpace : System.Web.Mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Register TagPrefix="wmx" Namespace="System.Web.Mail" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
    Objets de type MailMessage bien reconnus dans le dot net.

    Dans mon web.config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <appSettings>
        <add key="SmtpServeur" value="mail.MonDomaine.com" />
        <add key="SmtpUtilisateur" value="Expediteur" />
        <add key="SmtpPassword" value="MotDePasseExpediteur" />
      </appSettings>
    L'appel à ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnvoiMail("webmaster", "Destinataire@domaine.com, "Sujet du mail", "Ceci est un test");
    ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    void EnvoiMail(string MyExpediteur, string MyDestinataire, string MyObjet, string MyMessage)
        {
            // récupération valeurs du serveur mail stockées dans le web.config
     
            MailMessage email = new MailMessage();
            string utilisateur;
            string password;
            string serveur;
     
            utilisateur = ConfigurationSettings.AppSettings["SmtpUtilisateur"];
            password = ConfigurationSettings.AppSettings["SmtpPassword"];
            serveur = ConfigurationSettings.AppSettings["SmtpServeur"];
     
            // corps du mail
            email.From = MyExpediteur;
            email.To = MyDestinataire;
            email.Subject = MyObjet;
            email.BodyFormat = MailFormat.Html;
            email.Body = "<html>"
               + "<head>"
                //+ "<meta http-equiv="Content-Language" content="fr">"
                //+ "<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">"
               + "</head>"
               + "<body>"
               + "<p>"
               + MyMessage
               + "</p>"
               + "</body>"
               + "</html>";
     
            SmtpMail.SmtpServer = serveur;
     
            email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
            email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", utilisateur);
            email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);
     
            // pièce jointe
     
            //string chemin;
            //chemin = "C:\\Inetpub\\wwwroot\\developpez\\fichiers\\toto.txt";
            //email.Attachments.Add(new MailAttachment(chemin));
     
            try
            {
                SmtpMail.Send(email);
            }
            catch (Exception ex)
            {
     
                f_test.Text = ex.Message;
     
            }
     
        }

  2. #2
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Pour ceux que ça intéresse, une solution qui marche :

    1°) Rien dans le web.config
    2°) Ajout en en-tête du fichier aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Import Namespace="System.Web.Mail" %>
    3°) Corps de la fonction qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    void EnvoiMail(string MyExpediteur, string MyDestinataire, string MyObjet, string MyMessage)
        {
     
            MailMessage email = new MailMessage();
     
            // corps du mail
            email.From = MyExpediteur;
            email.To = MyDestinataire;
            email.Subject = MyObjet;
            email.BodyFormat = MailFormat.Html;
            email.Body = "<html>"
               + "<head>"
               + "</head>"
               + "<body>"
               + "<p>"
               + MyMessage
               + "</p>"
               + "</body>"
               + "</html>";
     
            SmtpMail.SmtpServer = "mail.mondomaine.com";
     
            try
            {
                SmtpMail.Send(email);
            }
            catch (Exception ex)
            {
                f_test.Text = ex.Message;
            }
        }
    Les strings MyExpediteur et MyDestinataire représentent des emails (toto@faitduvelo.fr par exemple), MyObjet un string et MyMessage le corps du mail en html (avec des <BR> pour les sauts de ligne ...).


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème envoi pdf par mail
    Par ver_for dans le forum IHM
    Réponses: 4
    Dernier message: 01/06/2008, 10h18
  2. Problème lors de l'envoie d'un mail (JavaMail)
    Par Invité dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 09/05/2006, 11h23
  3. [Mail] problème envoi mail html
    Par biggief dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2006, 17h44
  4. [Mail] problème envoi de newsletter 'page HTML'
    Par lilie507 dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2006, 16h57
  5. [Mail] Problème envoi formulaire par mail
    Par Nicos77 dans le forum Langage
    Réponses: 5
    Dernier message: 10/11/2005, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo