Sind SMTP-Relay-Anforderungen an system.net.mail anders als system.web.mail
-
15-09-2020 - |
Frage
Ich habe meine Web-App auf unseren Produktions-IIS 6.0-Server bereitgestellt, und alles funktioniert, außer wenn mein Code versucht, E-Mail an eine Adresse zu senden, die sich nicht in der Domäne unseres E-Mail-Servers befindet. Ich habe verschiedene Symptome gesehen, aber dies scheint das einfachste zu beschreiben:
Syntaxfehler in Parametern oder Argumenten. Die Serverantwort lautete: 5.7.1 Dieses System ist nicht konfiguriert, um Relay Mail
Meine Web-App Erhalten Sie diesen Fehler msg verwendet system.net.mail. Es befindet sich zusammen mit der älteren Web-App, die ersetzen soll, was system.web.mail verwendet. Es gibt einen SMTP-Server auf derselben Maschine, der eine neue Konfiguration in Bezug auf Relais erfordern.
Überprüfen der SMTP-Servereigenschaften zeigten nichts für "Relay-Einschränkungen". Die ältere Produktions-Web-App sendet E-Mails ohne Fehler mit dem wie beschrieben konfigurierten SMTP-Server.
sodass in Zusammenhang mit system.net.mail in Zusammenhang mit der Verwendung von SYSTEM.NET.MAIL etwas anderes für die Weiterleitung von E-Mails als System.Web.mail?
das web.config für die neuere Version mit Relay-Problemen enthält:
generasacodicetagpre.Ich habe die Werte oben für alle meine Tests verwendet (zuerst auf meinem Localhost mit XP IIS 5.1; dann auf einem Staging-IIS 6.0-Server in unserem LAN) und hatte nie Probleme mit "Relais".
das web.config für die ältere Version mit system.web.mail enthält nichts mit SMTP!
Wenn ich plötzlich ein -Kennwort und kennwort brauche
Ich weiß nicht viel über SMTP und weiß wirklich nicht einmal, was ich den Mail-Server-Administrator fragen soll. Ich bin sehr verwirrt darüber, was ich tun soll ... danke.
Lösung
Tönt für mich, als ob die alte App die Nachricht direkt an den Empfänger-Server sendet und Ihren lokalen Mail-Server vollständig umgeht. Dies wäre passiert, weil Ihre App keinen E-Mail-Server hätte, um konfiguriert zu verwenden, sodass er nicht verabredet ist, die E-Mail selbst zu senden.
Dies ist in der Regel eine schlechte Idee, da sie in Ihrer Anwendung Verzögerungen in Ihrer Anwendung verursachen kann, abhängig von der E-Mail-Serverkonfiguration der Empfänger (wir sprechen hier Sekunden). Wenn Sie nicht so konfiguriert sind, dass es sich um Dinge wie Graulisten usw. handelt, dann können Sie eine hohe Anzahl von E-Mails haben, die Sie denken, dass gesendet wurde, aber nie wirklich angekommen ist.
Sie sollten den Mail-Server-Administrator einfragen, um Ihren lokalen Mail-Server richtig zu konfigurieren, um das Weiterleiten von Ihrem Computer zu ermöglichen.
oder (und dies ist der sichere Weg)
Sie sollten einen Benutzer auf Ihrem lokalen Mail-Server einrichten und Ihre App verwenden, um diese Anmeldeinformationen beim Senden von E-Mails zu verwenden.
Das systemnetmail.com Site könnte hilfreich sein. Insbesondere die Seite auf SMTP-Konfiguration .