Transportfehlercode 0x80040217


David Simon

Grünschnabel
Hallo,
möchte eine Email als CC an eine Mailadresse senden, die nicht lokal ist.

Dafür habe ich mich über "mail.Fields.add(...)" authentifiziert, bekomme nun aber einen anderen Fehler:

Auf das Objekt ´CDO.Message´ konnte nicht zugegriffen werden. Ein Aufrufziel hat einen Ausnahmefehler verursacht. Die Nachricht konnte nicht an den SMTP-Server gesendet werden. Der Transportfehlercode lautet 0x80040217. Die Serverantwort lautet not available

Weiss jemand, wie man das Problem behebt?

Dank im voraus
 

Norbert Eder

Erfahrenes Mitglied
Füge das folgende hinzu:
Code:
mail.Fields.Add ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","0";);
Damit wird keine SMTP-Authentifizierung durchgeführt. Sollte diese gewünscht werden, eben eine 1 einfügen. Sollte dies nicht das Problem sein, dann poste mal die relevanten Code-Stellen.
 

David Simon

Grünschnabel
Hallo,
erstmal vielen Dank für die Antwort.
Bekomme jetzt den Fehler
"Auf das Objekt 'CDO.Message' konnte nicht zugegriffen werden. Ein Aufrufziel hat einen Ausnahmefehler verursacht. Der Server hat eine oder mehrere Empfängeradressen zurückgewiesen. Die Serverantwort lautet: 503 This mail server requires authentication when attempting to send to a non-local e-mail address. Please check your mail client settings or contact your administrator to verify that the domain or address is defined for this server. "
Der relevante Code-Ausschnitt:
MailMessage mail = new MailMessage();
mail.From = tbxAbs.Text;
mail.To = "\"David\" <info@mydomain.de>";
mail.Subject = tbxBetr.Text;
mail.Body = tbxMessage.Text;
mail.Cc = tbxCC.Text;
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "0");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "user");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "...");
SmtpMail.SmtpServer = "smtp.mydomain.de";
SmtpMail.Send(mail);
Ich würde mich sehr freuen, wenn Sie mir helfen könnten, da man die Möglichkeit, jemanden z.B. eine Bestätigungsmail zu schicken, sehr oft braucht.
 

Norbert Eder

Erfahrenes Mitglied
Also, hier sind wir mal generell alle per Du :)

Du hast mir jetzt relativ umständlich beschrieben, dass du die SMTP-Authentifizierung brauchst und vorher den Wert 1 gesetzt hattest. Wäre kürzer gegangen.

D.h. wenn du
Code:
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "0");
auf
Code:
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
stellst, bekommst du diesen Transportfehler?

Eine Möglichkeit wäre, dass du zum Beispiel keine Verbindung zum SMTP-Server bekommst. Entweder gibt es ihn nicht, oder du kannst den DNS-Eintrag nicht auflösen. Eine weitere Möglichkeit besteht darin, dass der SMTP-Server deine Mail an den Empfänger nicht weiterleiten darf (Relaying denied). Diese Punkte solltest du überprüfen. Zum Beispiel indem du versuchst vom gleichen Rechner mit den von dir verwendeten Einstellungen eine Mail über einen Mailclient zu versenden.
 

David Simon

Grünschnabel
Hallo,
korrekt, ich bekomme den Transportfehler bei Wechsel des AU-Codes von 0 auf 1.
Verbindung zum SMTP-Server funktioniert, denn Mails an meine eigene Mailadresse bei meinem Provider bekomme ich zugestellt, nur Mails an Adressen, die nicht lokal bei meinem Provider sind, enden mit diesen Fehlern.
Könnte mir vorstellen, dass "Relaying Denied" auftritt.
Könntest du mir bitte nochmal genauer beschreiben, wie ich das überprüfen kann?
Dank im voraus
 

David Simon

Grünschnabel
Nachtrag:
auch diese Fehlermeldung erhalte ich (beim Versuch, Mail an Adresse im mail.To-Feld zu schicken)
"Auf das Objekt 'CDO.Message' konnte nicht zugegriffen werden. Ein Aufrufziel hat einen Ausnahmefehler verursacht. Der Server hat eine oder mehrere Empfängeradressen zurückgewiesen. Die Serverantwort lautet: 550 Requested action not taken: mailbox unavailable or not local "
Mailadresse ist aber available
 

Norbert Eder

Erfahrenes Mitglied
Ich vermute hier, dass der SMTP-Server Mails, deren zugehöriger Account sicht nicht beim ihm befindet (sprich auf einem fremden Mailserver) nicht weiterleitet. Schon mal probiert über einen anderen SMTP-Server zu senden?
 

David Simon

Grünschnabel
Hallo,
nein, habe ich noch nicht probiert.
Kannst du einen bestimmten empfehlen (Freeware)?
Wie müßte die angepasste Code zeile lauten, etwas so:
"SmtpMail.SmtpServer = "Mail.freewaresmtpserver.com";
?
Danke im voraus für deine Hilfe