Webmail erreur acces CDO.message 0x80040217

Résolu
cs_Armis Messages postés 4 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 22 juillet 2004 - 21 juil. 2004 à 19:15
Hep8 Messages postés 8 Date d'inscription dimanche 11 avril 2004 Statut Membre Dernière intervention 6 avril 2005 - 18 mars 2005 à 12:57
Salut,
J'ai un problème avec ma connexion à mon serveur SMTP je crois...

Voici mon code pour envoyer un mail à partir d'une WinApp en C#:

MailMessage conf_mail = new MailMessage();
conf_mail.From = "adresse@.domaine.com";
conf_mail.To = "adresse@.domaine.com";
conf_mail.Subject = "Confirmation";
conf_mail.Body = txt_confirmation.Text;
conf_mail.BodyFormat = MailFormat.Text;
conf_mail.Priority = MailPriority.Normal;

// SMTP
SmtpMail.SmtpServer = "adresse IP Serveur";
SmtpMail.Send(conf_mail);

Biensur je capture les erreur là-dedans et voila ce que j'optien:

Could not access 'CDO.Message' object
System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation. --->
System.Runtime.InteropServices.COMException (0x80040211):
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

Haha... moitié français moitié anglais... :)

J'ai essayé de mettre l'adres ip du serveur SMTP et son nom DNS mais j'avais la même erreur. J'ai aussi enlevé le firewall que j'avais localement. Je veux utiliser le serveur smtp de la compagnie alors je ne veux pas utiliser le "localhost" comme serveur SMTP. Quand j'utilise le localhost ca fonctionne bien pour tout les courriel du même domaine. Je dois pouvoir envoyer des courriels à plein de personnes à l'extérieur donc je ne peux pas utiliser le serveur SMTP local et faire plein de relais. Mon application sera sur plusieurs machienes (6).

T k chez pus koi faire...

Ha oui, je dois fournir un user name et un mot de passe normalement pour pouvoir entrer dans Outlook, qui utilise le serveur SMTP que je veux utiliser. Est-ce que je dois les inscrire en quelque part dans mon code?

j'ai vu ce genre de chose:
eMail.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
eMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "prenom.nom"
eMail.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"

mais j'ai aussi vu que c'était inutile...
J'ai essayé et ca fonctionne pas. J'ai cette erreur:
Web.Mail.MailMessage.Fields' denotes a 'property' where a 'method' was expected
et il me souligne les champs Fields...

Merci bien ;)

Armis the Out Law

4 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 juil. 2004 à 20:12
sinon y'a la 2eme methode qui ressemble tres fortement à ce que tu as mit, sauf que tu as mit des () à la place des [] :
http://www.codeproject.com/dotnet/SystemWeb_Mail_SMTP_AUTH.asp

Cocoricoooooooo !!!!
3
cs_Armis Messages postés 4 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 22 juillet 2004
22 juil. 2004 à 17:14
Parfait!

Voila la vrai façon de le faire pour que cela fonctionne:

try
{
MailMessage conf_mail = new MailMessage();
conf_mail.From = "______@__.__";
conf_mail.To = "______@__.__";
conf_mail.Subject = "Sujet";
conf_mail.Body = "Body";
conf_mail.BodyFormat = MailFormat.Text;
conf_mail.Priority = MailPriority.Normal;

conf_mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = 1;

conf_mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = "username";

// martin@hotmail.com --> username = martin //

conf_mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"]="motdepasse";

SmtpMail.SmtpServer = "IP du serveur SMTP";

SmtpMail.Send(conf_mail);

MessageBox.Show("L'envoi du mail a réussi.", "Envoi", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
catch
{
MessageBox.Show( "L'envoi du mail a échoué.\nVeuillez vous assurer de la validité de l'adresse du client.\n Il peut aussi être question d'erreurs dans la configuration mail.", "Envoi", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Merci mon poulet tu m'as mis sur la bonne voix... C'était une petite erreur d'innatention! ;o)

Armis the Out Law
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 juil. 2004 à 20:06
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");	//basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret");	//set your password here


(source : http://www.systemwebmail.net/faq/3.8.aspx)

Cocoricoooooooo !!!!
0
Hep8 Messages postés 8 Date d'inscription dimanche 11 avril 2004 Statut Membre Dernière intervention 6 avril 2005
18 mars 2005 à 12:57
Bonjour,

Je dois envoyer des mail par un serveur mail interdisant l'open relay (contre les spam) et donc utiliser ces methode "mail.Fields.Add(...)". Mais avant de les utiliser definitivement dans mon applic, j'aurais voulu savoir a quoi correspondait le premier argument de ces fonctions: "http://schemas.microsoft.com/cdo/configuration/sendusername
"
De toute facon je dois faire un rapport et expliquer mes choix de programmation, et je voudrai savoir ce que représente cette adr internet au milieu de mon code, comment elle est traduite et ..., en comprendre le fonctionnement quoi !

il y a bien
Check MSDN for the CDOSYS http://schemas.microsoft.com/cdo/configuration/ Namespace at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_schema_configuration.asp

sur le 2eme site donné par coq mais (en anglais c'est difficile) je ne croi pas que ca soit les explication que je cherche.

Merci d'avance!

Hep, toi la bas!
0
Rejoignez-nous