Envoi d'un e-mail

gapan Messages postés 5 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 5 août 2009 - 4 août 2009 à 18:25
supcomiene Messages postés 2 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 4 mars 2010 - 4 mars 2010 à 12:33
Bonjour,

Je suis un novice en ASP.NET, et je dois développer pour un projet un site dans ce langage. J'ai un léger problème qui concerne l'envoi d'e-mail via ASP.NET (C#).

J'aimerais savoir :
1) Si je teste en local une page supposé envoyé un e-mail, est-il normal que cela bug même si j'y ai précisé un bon SMTP ?
Personnellement, je pense que mon erreur provient de là, mais j'aimerais être sûr, n'ayant pas de serveur Microsoft sous la main pour vérifier...
2) Est-ce que si je teste un code avec par exemple le SMTP de gmail, cela fonctionnera-t-il ?

Sachant que pour tester j'ai repris un code tout fait qui en théorie aurait dû fonctionner, vous trouverez le code en question à cette url :
http://www.aspfr.com/codes/ENVOYER-MAIL-ASP-NET_8710.aspx

L'erreur qu'il m'affiche est la suivante :
[i]Détails de l'exception: System.Runtime.InteropServices.COMException: Le transport a échoué dans sa connexion au serveur.
/i

Merci ;)

10 réponses

cs_gabj Messages postés 58 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 16:27
Bonjour,

Effectivement, tu ne peux te connecter à ton serveur smtp. Pourrais-tu envoyer le code que tu exécute stp?

Merci

Jérôme GABRIEL
MCTS ASP.Net
0
gapan Messages postés 5 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 16:34
Voilà la partie du code avec le mail :

//Envoi du mail

MailMessage email = new MailMessage();

// adresse de l'expéditeur et du destinataire
email.From = this.emailConsultation.Text;
email.To = "77082@supinfo.com";

// sujet du message
email.Subject = "Sujet";

// corps du message
email.Body = "Le contenu du mail";

// Se connecter au serveur smtp

email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "gapan000@hotmail.com");
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "mdp_de_mon_compte");
SmtpMail.SmtpServer = "smtp.live.com";

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


Là, j'ai utilisé l'aide trouvé ici (j'ai juste rajouté les identifiants en fait) :
http://webman.developpez.com/articles/aspnet/email/csharp/

Même en local depuis visual ca aurait dû fonctionner alors ?

Merci
0
cs_gabj Messages postés 58 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 16:57
Ok, j'ai une solution qui fonctionne :

//Envoi du mail
            MailMessage email = new MailMessage("XXXX@hotmail.com",
                                                "XXXX@hotmail.com",
                                                "Sujet",
                                                "Contenu");

            // Se connecter au serveur smtp
            SmtpClient smtp = new SmtpClient("smtp.live.com");
            smtp.Credentials = new NetworkCredential("XXXX@hotmail.com", "Password");
            smtp.EnableSsl = true;

            // Envoie du message
            smtp.Send(email);


Pour info, si tu veux envoyer tes mails à plusieurs personnes il faut que tu ajoutes tes adresses à la collection d'adresse :
email.To.Add("Ton adresse");


Bon courage

Jérôme GABRIEL
MCTS ASP.Net
0
gapan Messages postés 5 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 17:52
Je reçois une erreur :

Message d'erreur du compilateur: CS1729: 'System.Web.Mail.MailMessage' does not contain a constructor that takes '4' arguments

Peut-être utilises-tu autre chose que System.Web.Mail ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gabj Messages postés 58 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 17:55
Effectivement, MailMessage fait parti de l'espace de nom System.Net.Mail

Bon courage

Jérôme GABRIEL
MCTS ASP.Net
0
gapan Messages postés 5 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 18:03
Encore un petit soucis :

Message d'erreur du compilateur: CS0246: The type or namespace name 'NetworkCredential' could not be found (are you missing a using directive or an assembly reference?)

Quelque chose à config avant peut-être ?
0
cs_gabj Messages postés 58 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 18:06
Effectivement, NetworkCredential fait parti de l'espace de nom System.Net (première réponse sur google).

Bon courage

Jérôme GABRIEL
MCTS ASP.Net
0
gapan Messages postés 5 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 18:20
En effet, je cherchais directement sur msdn.microsoft.com personnellement mais je n'avais pas trouvé.

J'ai encore une erreur, il s'agit encore d'une erreur de connexion, ca ne peut pas venir du fait que je ne test pas via un serveur microsoft ? :
Détails de l'exception: System.Net.Sockets.SocketException: Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu 65.55.172.254:25

Je sais aussi que lorsque j'utilise outlook, je dois utiliser une connexion chiffrée en TLS pour le smtp (Et pas SSL) avec live, peut-être que c'est lié...
0
cs_gabj Messages postés 58 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 août 2009
6 août 2009 à 12:07
Salut,

J'ai testé le code chez moi et ça fonctionne (bien qu'il y est eu un problème sur les serveurs hotmail cette nuit). J'ai pu envoyer un message avec mon adresse mail.

Je ne vois pas d'où peut venir ce problème sauf erreur du serveur smtp de live.

Bon courage

Jérôme GABRIEL
MCTS ASP.Net
0
supcomiene Messages postés 2 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 12:33
salut,
J'ai testé ce meme code mais ça ne marche pas
Est ce que ça necessite une configuration à part
Qu'est ce qu'on doit utilisé
System.Web.Mail ou bien System.Net.Mail
Merci
0
Rejoignez-nous