non

non - C#/.NET managed - Programmation

Marsh Posté le 26-11-2014 à 12:28:47    

bonjour  
j'aimerais écrire un programme pour envoyer un mail en asp.net mais j'ai un bug. le code est le suivant
MailMessage email = new MailMessage();
email.From = adresse_destinataire@gmail.com;
email.To = "adresse_expediteur@gmail.com";
email.Subject = "objet";
email.Body = "message";
SmtpMail.SmtpServer = "smtp.gmail.com";
 
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1" );
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "adresse_expediteur@gmail.com" );
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "mot_de_passe" );
SmtpMail.Send(email);
 
a l'execution j'ai ce message d'erreur
 
The message could not be sent to the SMTP server. The transport error code was 0x800ccc67. The server response was 421 Cannot  
connect to SMTP server 74.125.133.108 (74.125.133.108:25), NB connect error 1460
 
je ne sais pas si quelqu'un peut m'aider

Reply

Marsh Posté le 26-11-2014 à 12:28:47   

Reply

Marsh Posté le 27-11-2014 à 11:27:10    

Euh... il te manque pas mal de choses là :

 

- le port du serveur gmail (SmtpMail.Port = 587)
- la connection en SSL (gmail fonctionne en SSL : SmtpMail.EnableSsl = true)
- ainsi que l'authentification. La façon avec laquelle tu t'authentifies ne fonctionnera pas, tu dois créer un objet NetworkCredential, que tu construis à partir d'un objet MailAddress (ton adresse gmail), et du mot de passe. Puis tu assignes cet objet à ton SmtpMail (SmtpMail.Credentials = TonObjetNetworkCredential.

 

Encapsule l'envoi de mail dans un try/catch, il peut y avoir mille raisons pour qu'un mail n'atteigne pas sa destination, et tu dois l'indiquer à l'utilisateur.

 

Classe NetworkCredential : http://msdn.microsoft.com/en-us/li [...] 10%29.aspx
Classe MailAddress : http://msdn.microsoft.com/en-us/li [...] 10%29.aspx

 

Garde aussi en tête que gmail autorise un quota journalier d'envoi de mails, afin de lutter contre le spam. Donc vas y mollo avec les tests. L'idéal serait d'utiliser ton propre serveur smtp sur un serveur dédié.

 

edit: et merci d'éditer le titre de ton topic pour le rendre plus explicite.


Message édité par Harkonnen le 27-11-2014 à 14:06:48

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed