.NET et son mail

Alors voilà, j’ai un petit problème qui me pete les couilles.
J’ai une appli ASP.NET, avec une gestion de mail.
Là, pas de problème, j’envoie mon mail tranquille, ça part sur un serveur exchange, et vive le smtp.

Bon, hop, je fais une petite application console, avec rien qu’une petite requête et, suivant le résultat, des mails à envoyer…

Mais non, monsieur ne veut pas foncitonner, monsieur fait sa célébrité…

Je ne comprend pas. Au début je pensais que cela pouvait être un problème d’accès, alors j’ai essayé en changeant de serveur smtp. J’ai mis donc localhost (qui existe et est configuré). Mais bingo, même erreur.

J’ai essayer de chercher sur google, mais voilà :
Impossible d’accéder à l’objet 'CDO.Message’
est un message qui apparait tellement souvent, mais jamais n’a répondu à mon problème.

J’ai fait une petite boucle pour trouver les exceptions, et voilà ce que je trouve :
The following InnerException reported: System.Runtime.InteropServices.COMException (0x80040211): The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available

Alors si par hasard vous avez une expérience avec ce problème, je veux bien de vos lumières.

Continue a chercher dans la config de ton serveur… ou les params pour envoyer. Clairement il est pas accessible :stuck_out_tongue:

J’veux bien, mais j’arrive pas à trouver d’infos qui pourrait expliquer que l’appli ASP.NET fonctionne sans problème et l’application console non.

C’eut été le contraire, j’aurais compris, genre ASPNET a des problèmes de droits, et tout…

Mais là. Surtout que je suis admin du poste…

teste si tu peux acceder à ton serveur smtp en raw (via Putty par exemple)

J’ai rapidement jeté un coup d’oeil sur les groupes de discusion, visiblement tu es loin d’etre le seul a avoir ce problème. Si tu cherches un peu, tu pourras p’etre trouver une solution (mm si c’est assez bordélique les groupes de discusion).

Donc Google

J’ai eu un problème similaire, mais pas tout à faite le même, ceci dit je donne quand même ma solution. Activer le relaying pour ta propre ip dans la configuration du serveur smpt… Enfin c’est valable si la machine qui contacte le smpt, et le serveur smtp sont une seule et même machine. Sinon, active le relaying pour l’ip du pc qui veut envoyer un mail.

Sinon, il te reste à faire comme moi pour debuger le probleme: telnet+rfc du protocole smtp.

Vu qu’ils sont dans l’urgence d’un autre boulot, je pourrais pas retoucher à l’appli avant la semaine prochaine.

Je pourrais refaire des tests à ce moment là.

j’ai dans l’idée d’essayer la solution RAW par putty de Staz, histoire de voir, mais faut pas oublier un truc…
L’intranet ASP.NET en local fonctionne très très bien pour envoyer des mails.
L’application Windows.NET (toujours en local) lui n’y arrive pas.

Bon en cherchant un peu, j’ai enfin trouvé dans une forum.

J’ai rajouté ces 3 lignes :

myMail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = 1; myMail.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = "login"; myMail.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"]="password";
et ça marche.

Là je regarde un peu google pour trouver quelques infos sur ces 3 paramètres nécessaires.

J’aimerais bien m’en débarasser…

PS: Testé sur 2 serveurs SMTP avec Connexions anonymes activée, et rien d’autre de coché…

EDIT :
myMail.Fields[“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”] = 0;

Ca passe…
Au moins je pourrais dire en découvrir tous les jours.