[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 :
Citation:
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:
<%@ 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:
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:
EnvoiMail("webmaster", "Destinataire@domaine.com, "Sujet du mail", "Ceci est un test");
ma fonction :
Code:
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;
}
} |