Wie erhält meine ASP.NET-Anwendung die SMTP-Einstellungen automatisch von web.config?

8

Ich bemerkte, dass wir immer nur wie sind:

%Vor%

Und der einzige Ort, an dem die Zugangsdaten eingegeben werden, sind web.config:

%Vor%

Also meine Frage ist, wie bringt es sie automatisch heraus?

    
BigOmega 04.05.2010, 17:21
quelle

4 Antworten

15

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. "

    
driis 04.05.2010, 17:25
quelle
2
%Vor%     
abatishchev 04.05.2010 17:29
quelle
1

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

    
James Westgate 04.05.2010 17:26
quelle
1

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.

Siehe Artikel-Thread hier .

    
Jonas Mølgaard 24.08.2011 14:48
quelle

Tags und Links