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

ASP.NET Discussion :

Envoi mail automatique


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut Envoi mail automatique
    Bonjour

    Dans mon projet en asp(C#) j'ai besoin d'envoyer un mail automatique.
    En fait lorsqu'un utilisateur remplit le formulaire pour s'inscrire, je souhaite lui envoyer ses diverses informations.

    J'utilise un createUserWizzard.

    Et lorsque le createUserWizzard est remplit, ce code se génère :

    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
     protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
        {
            MailMessage email = new MailMessage();
            string utilisateur;
            string password;
            string serveur;
     
            utilisateur = ConfigurationSettings.AppSettings["SmtpUtilisateur"];
            password = ConfigurationSettings.AppSettings["SmtpPassword"];
            serveur = ConfigurationSettings.AppSettings["SmtpServeur"];
     
            email.From = "adresseamoi@gmail.fr";
            email.To = CreateUserWizard1.Email;
            email.Subject = "Création d'un utilisateur";
            email.Body = "Vos informations personnelles";
            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);
     
            try
            {
                SmtpMail.Send(email);
            }
            catch (Exception ex)
            {
                LblErreur.Text = ex.Message;
            }
        }
    J'ai pris ce code grâce à un tuto sur developpez.net, mais cela ne fonctionne pas.

    Pour ce qui est des lignes dans le webconfig:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <appSettings>
        <add key="SmtpServeur" value="smtp.neuf.fr" />
        <add key="SmtpUtilisateur" value="user" />
        <add key="SmtpPassword" value="mdp" />
      </appSettings>
    Cependant je ne suis pas sur de l'utilisateur et du mot de passe. J'ai écrit les informations de mon FAI, mais le mail ne s'envoie pas. Normalement cela doit s'envoyer même si je ne suis pas chez moi?

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Ton site est hébergé chez neuf.fr ?

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Du tout, d'ailleurs il n'est pas encore hébergé du tout.

    edit : je viens d'essayer l'envoie du mail depuis mon domicile, et maintenant ça marche.

    Pourquoi ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    A mon avis le serveur SMTP de Neuf n'autorise les connexions qu'à partir de ta NeufBox... Utilise plutôt celui de GMail si tu envois à partir d'une adresse GMail. En plus c'est sécurisé, donc plutôt mieux...

    D'autre part, j'ai l'impression que tu utilises la classe System.Web.Mail.MailMessage, qui est obsolète. Il faut utiliser System.Net.Mail.MailMessage à la place (change la directive using en début de fichier). Ca s'utilise un peu différemment, c'est expliqué dans ce tuto

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Ok,

    Je viens de créer mon adresse gmail, pour le login et le mot de passe il suffit de mettre mon adresse gmail et mon mot de passe ?

    edit : de plus, j'ai bien rajouté cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using System.Net.Mail.MailMessage;
    Et il me dit que :
    Une directive d'espace de noms using ne peut être appliquée qu'aux espaces de noms*; 'System.Net.Mail.MailMessage' est un type, pas un espace de noms

  6. #6
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    le using doit être :

    Car comme spécifié dans le message d'erreur, tu ne peux mettre en using que des espaces de noms (namespace) qui vont servir à référencer des types, et non pas les types directement.

    Pour les identifiants gmail, c'est bien ça. Et si je me trompe pas, le '@gmail.com' n'est pas obligatoire pour le login.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    L'erreur disparait, mais une nouvelle réapparait sur NetworkCredential (cf tuto)

    Erreur 1 Le type ou le nom d'espace de noms 'NetworkCredential' est introuvable (une directive using ou une référence d'assembly est-elle manquante*?)

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

Discussions similaires

  1. envoi mail automatique a plusieur personne avec critère et Pj
    Par popofpopof dans le forum VBA Access
    Réponses: 9
    Dernier message: 26/02/2010, 09h51
  2. Réponses: 32
    Dernier message: 18/06/2007, 08h28
  3. Envoi mail automatique
    Par sticker dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/02/2007, 16h19
  4. [phpBB] Envoi mail automatique quand on clique sur un bouton
    Par Nicca dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 08/12/2006, 11h42
  5. envoi mail automatique apres confirmatin d'inscription
    Par Chonchon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2006, 17h28

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