SMTP-Authentifizierung mit System.Web.Mail aktivieren

Autor:

Carlos Walzer MVP

COMMUNITY SOLUTIONS CONTENT HAFTUNGSAUSSCHLUSS

MICROSOFT CORPORATION UND/ODER SEINE LIEFERANTEN ÜBERNEHMEN KEINE VERANTWORTUNG EIGNUNG, ZUVERLÄSSIGKEIT UND GENAUIGKEIT DER INFORMATIONEN UND DER ENTHALTENEN GRAFIKEN. DIESE INFORMATIONEN UND ZUGEHÖRIGEN GRAFIKEN ERHALTEN "WIE BESEHEN" UND OHNE GARANTIEN JEDER ART. MICROSOFT UND/ODER SEINE JEWEILIGEN LIEFERANTEN SCHLIESSEN HIERMIT ALLE GARANTIEN UND ZUSAGEN BEZÜGLICH DIESER INFORMATIONEN UND ZUGEHÖRIGEN GRAFIKEN EINSCHLIEßLICH ALLE KONKLUDENTEN GARANTIEN DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK, NUTZERN, TITEL UND NICHT-VERLETZUNG. SIE AUSDRÜCKLICH ZUSTIMMEN, NICHT MICROSOFT UND/ODER DEREN LIEFERANTEN HAFTEN FÜR DIREKTEN, INDIREKTEN, STRAFRECHTLICHE, ZUFÄLLIGEN, SPEZIELLEN, ZUFÄLLIGE SCHÄDEN ODER ANDERE IRGENDWELCHER SCHÄDEN, ABER NICHT BESCHRÄNKT AUF SCHÄDEN, VERLUST VON DATEN, ENTGANGENEN GEWINN, AUS ODER IN EINER VERBINDUNG DIE VERWENDUNG ODER UNMÖGLICHKEIT DER INFORMATIONEN UND ZUGEHÖRIGEN GRAFIKEN IN , OB VERTRAG, UNERLAUBTE HANDLUNG, NACHLÄSSIGKEIT VERSCHULDENSUNABHÄNGIGE HAFTUNG ODER, SELBST WENN MICROSOFT ODER IHRE LIEFERANTEN DIE MÖGLICHKEIT VON SCHÄDEN HINGEWIESEN WURDEN.

ZUSAMMENFASSUNG

Dieser Artikel beschreibt, wie E-mails von einer .NET Anwendung über einen SMTP-Server gesendet werden, der Authentifizierung verlangt.

Problembeschreibung

Exchange Server erfordert standardmäßig Authentifizierte Benutzer e-Mail-Nachrichten über SMTP zu senden. Wenn Sie eine Entwicklung finden Sie enthält System.Web.Mail keine API, die Anmeldeinformationen für die Verbindung mit einem SMTP-Server ermöglicht. System.Web.Mail ruft intern Microsoft® Collaboration Data Objects CDOSYS. SMTP-Authentifizierung kann durch die Definition von Konfigurationen über das Konfigurationsobjekt, das CDO Message -Objekt zugeordnet ist .
 

Weitere Informationen

Das System.Web.Mail -Namespace stellt eine API, die Sie erstellen und Senden von Nachrichten mithilfe der CDOSYS (Collaboration Data Objects für Windows 2000) Nachrichtenkomponente ermöglicht. Die Nachricht wird über einen SMTP-Server übermittelt.
Die meisten Installationen SMTP-Server erfordert eine Authentifizierung. Wichtigste Begründung durch Menschen missbrauchen SMTP-Server für die Sendung ist (d. h. unerwünschte Junk-e-Mail senden).
System.Web.Mail -Namespaceklassen verfügbar nicht zum Bereitstellen von Anmeldeinformationen mit einem SMTP-Server eine API. Trotzdem können Sie dazu Konfiguration Einstellungen für das Konfigurationsobjekt Nachricht CDOzugeordnet. Konfiguration bestehen aus einem Satz von Feldern (Eigenschaften) einfach Name-Wert-Paare. Die meisten Felder zum messaging sind im Namespace.
Hinzufügen der System.Web.Mail.MailMesage.Fields -Auflistung können Sie Felder der Nachricht festlegen.
 
CDO-Feldern für das Konfigurieren von SMTP-Authentifizierung
Konfigurieren Sie Nachrichtenobjekte ändern Felder in zugeordneten Konfigurationsobjekts . Die meisten der Feldnamen befinden sich im Namespace:
  • SmtpServer: SMTP-Servernamen ein.
  • SMTPServerPort: SMTP-Server-Port (Standard: 25).
  • Sendusing: CdoSendUsingPort Wert 2 für die Nachricht über das Netzwerk senden.
  • Smtpauthenticate: das Verfahren beim SMTP-Dienst über das Netzwerk Authentifizierung verwendet. Mögliche Werte sind:
    -CdoAnonymous, Wert 0. Nicht authentifizieren.
    -CdoBasic, Wert 1. Verwenden Sie grundlegende unverschlüsselte Authentifizierung. Bei Verwendung dieser Option müssen Sie Benutzernamen und Kennwort über die Felder Sendusername und Sendpassword angeben.
    -CdoNTLM, Wert 2. Der aktuelle Prozesssicherheitskontext wird zur Authentifizierung mit dem Dienst.
  • Sendusername: Benutzername
  • Sendpassword: Kennwort

 
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie eine e-Mail über ein SMTP-Server, die Authentifizierungsserver von Anmeldeinformationen im Klartext über das Netzwerk benötigt.
 
using System;using System.Web.Mail;namespace SMTPAuthentication{ public class SMTPAuthenticationExample {  public static void SendMail()  {   string smtpServer = "smtp.domain.com";   string userName = "johnDoe";   string password = "pass";   int cdoBasic = 1;    int cdoSendUsingPort = 2;    MailMessage msg = new MailMessage();   if (userName.Length > 0)   {    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", smtpServer);    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25) ;    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", cdoSendUsingPort) ;    msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", cdoBasic);     msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName);     msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);    }   msg.To = "someone@domain.com";    msg.From = "me@domain.com";   msg.Subject = "Subject";   msg.Body = "Message";   SmtpMail.SmtpServer = smtpServer;   SmtpMail.Send(msg);  } }}
 
Hinweis: Klassen im System.Web.Mail-Namespace können von ASP.NET verwendet oder aus einer verwalteten Anwendung. Sicher, dass das Projekt System.Web.dll Assemblyverweise. 
 
Verweise:
Für Weitere Informationen besuchen Sie Datenobjekte :

 
Weitere Informationen über den Besuch System.Web.Mail -Namespace:

Eigenschaften

Artikelnummer: 555287 – Letzte Überarbeitung: 15.02.2017 – Revision: 1

Microsoft .NET Framework 1.1

Feedback