Stellen Sie mit C# eine Verbindung zu SMTP-Servern her

Simple Mail Transfer Protocol (SMTP) ist das am häufigsten verwendete Email-Protokoll, das sich mit dem Senden von Email-Nachrichten von Client Anwendungen an den Email-Server befasst. In verschiedenen Fällen werden die Email-Clients in .NET Anwendungen implementiert, um Emails über SMTP zu versenden. Für solche Szenarien behandelt dieser Artikel, wie Sie mit C# programmgesteuert eine Verbindung zu einem SMTP-Server herstellen. Darüber hinaus demonstrieren die Codebeispiele, wie nach dem Verbindungsaufbau eine Email per SMTP-Client versendet werden kann.

C# API zum Verbinden mit dem SMTP-Server

Aspose.Email for .NET ist eine C# API, die entwickelt wurde, um leistungsstarke Email-Client Anwendungen zu erstellen. Die API ermöglicht es, komplexe Email-Operationen ganz einfach innerhalb weniger Codezeilen durchzuführen. Darüber hinaus können Sie SMTP-Server über SOCKS und HTTP-Proxy-Server verbinden. Sie können die DLL der API entweder herunterladen oder sie mit NuGet installieren.

PM> Install-Package Aspose.Email

Mit C# mit dem SMTP-Server verbinden

Bevor Sie sich mit einem SMTP-Server verbinden, müssen Sie die folgenden Dinge wissen.

  • Nutzername
  • Passwort
  • Hafen

Sobald Sie sie haben, können Sie den SMTP-Client mit den folgenden Schritten konfigurieren.

Das folgende Codebeispiel zeigt, wie die API für eine SMTP-Verbindung in C# eingerichtet wird.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Legen Sie Benutzername, Passwort, Port und Sicherheitsoptionen fest
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Nachdem Sie die API konfiguriert haben, können Sie mit einer der folgenden Optionen eine Verbindung zu einem SMTP-Server herstellen.

Verbindung zu SMTP über SOCKS Proxy Server in C#

Aspose.Email bietet Unterstützung für die Versionen 4, 4a und 5 des SOCKS-Proxy-Protokolls. Im Folgenden sind die Schritte zum Herstellen einer Verbindung zu einem SMTP-Server über einen SOCKS-Proxyserver mit Aspose.Email for .NET aufgeführt.

  • Initialisieren Sie SmtpClient mit der Hostadresse, dem Benutzernamen, dem Passwort und anderen Einstellungen.
  • Erstellen Sie ein Objekt der Klasse SocksProxy und legen Sie die Adresse und den Port fest.
  • Legen Sie den Proxy des Clients mithilfe der Eigenschaft SmtpClient.Proxy fest.
  • Email mit der methode SmtpClient.Send() senden.

Das folgende Codebeispiel zeigt, wie Sie mit C# über einen SOCKS-Proxy eine Verbindung zu einem SMTP-Server herstellen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
string proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.Proxy = proxy;
client.Send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));

Stellen Sie über den HTTP-Proxy-Server eine Verbindung zum SMTP-Server her

Im Folgenden finden Sie die Schritte zum Herstellen einer Verbindung zu einem SMTP-Server über einen HTTP-Proxy-Server.

  • Erstellen Sie eine Instanz der Klasse HttpProxy und initialisieren Sie sie mit IP und Portnummer.
  • Erstellen und konfigurieren Sie das Objekt SmtpClient.
  • Legen Sie den HTTP-Proxy mit der Eigenschaft SmtpClient.Proxy fest.
  • Email mit der methode SmtpClient.Send() senden.

Das folgende Codebeispiel zeigt, wie Sie über einen HTTP-Proxyserver eine Verbindung zu einem SMTP-Server herstellen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-email/Aspose.Email-for-.NET
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
using (SmtpClient client = new SmtpClient("host", 587, "username", "password"))
{
    client.Proxy = proxy;
    client.Send(new MailMessage(
        "from@domain.com",
        "to@domain.com",
        "NETWORKNET-34226 - " + Guid.NewGuid().ToString(),
        "NETWORKNET-34226 Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}

Holen Sie sich eine kostenlose API Lizenz

Sie können Aspose.Email for .NET kostenlos testen und verwenden, indem Sie eine temporäre Lizenz erwerben.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C# eine Verbindung zu einem SMTP-Server herstellen. Darüber hinaus haben die Schritt-für-Schritt-Anleitung und Codebeispiele gezeigt, wie Sie sich über SOCKS und HTTP-Proxy-Server mit dem SMTP-Server verbinden können. Weitere Informationen zur C# Email API finden Sie unter Dokumentation.

Siehe auch