Die Dokumentation gibt an, dass der parameterlose Konstruktor von SmtpClient gelesen wird seine Konfiguration aus der Anwendungs- oder Maschinenkonfigurationsdatei. Bei einer Webanwendung lautet die Anwendungskonfigurationsdatei web.config. Dies bedeutet auch, dass das Element mailSettings in der Datei Web.config nicht nach Einstellungen in der Datei machine.config sucht, bevor es aufgibt:
"Dieser Konstruktor initialisiert den Host, Anmeldeinformationen und Porteigenschaften für der neue SmtpClient mit dem Einstellungen in der Anwendung oder Maschine Konfigurationsdateien. "
Es gibt eine machine.config-Datei in Ihrem Windows-Ordner, und jede Website (oder Anwendung) hat eine web.config-Datei (oder eine app.config-Datei). Diese Dateien werden kombiniert, um die Einstellungen für die App-Domäne zu erhalten.
Die Klasse smtp greift einfach auf die Konfiguration zu, wahrscheinlich über die ConfigurationManager-Klasse
Ausgezeichnete Antwort Driis. Ich wünschte, ich hätte genug Reputation, um deine Antwort zu verbessern, aber ich nicht: (
Wie auch immer, ich habe eine Antwort auf etwas ähnliches gegeben, obwohl es manuell gemacht wurde, wie Abatitishchev zeigt. Der einzige Unterschied ist, dass ich das Problem mit der enableSsl gelöst habe, die atm nicht zugänglich ist.
Tags und Links web-config c# asp.net smtpclient