SMTP-Authentifizierung mit der config-Datei MailSettings

Bin ich der Speicherung meiner MailSettings in einem web.config, jedoch wenn ich die Nachricht senden, mein SMTP-server meldet zurück, dass ich benötigen, um Authentifizierung verwenden. Ich habe meinen Benutzernamen/Passwort in der config-Datei, aber es immer noch nicht.

Es funktioniert, wenn ich den folgenden Code, aber es scheint, wie ein extra-Schritt. Sollte es nicht nehmen Sie es einfach aus der config-Datei und verwenden Sie die Authentifizierung automatisch?

System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration(
    HttpContext.Current.Request.ApplicationPath);
MailSettingsSectionGroup settings =
    (MailSettingsSectionGroup) config.GetSectionGroup("system.net/mailSettings");

SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential(
   settings.Smtp.Network.UserName, settings.Smtp.Network.Password);

Web.config

<system.net>
    <mailSettings>
        <smtp from="[email protected]" deliveryMethod="Network">
            <network host="mail.xyz.com" defaultCredentials="true"
                userName="me@xyzcom" password="abc123" />
        </smtp>
    </mailSettings>
 </system.net>

System.Net.E-Mail.SmtpException

Exceeded storage allocation. Die
server-Antwort war: Bitte verwenden Sie die smtp -
die Authentifizierung. Sehen
http://www.myISP.com/support/smtp-authentication.aspx

"Exceeded storage allocation" verwirrt uns für eine ganze Weile, die wir jetzt ignorieren. Es ist die "smtp-Authentifizierung verwenden", dass scheint wichtig zu sein.

InformationsquelleAutor der Frage Eric | 2010-09-01

Schreibe einen Kommentar