Připojení k SMTP serverům pomocí C#

Simple Mail Transfer Protocol(SMTP) je nejběžněji používaný e-mailový protokol, který se zabývá odesíláním e-mailových zpráv z klientských aplikací na e-mailový server. V různých případech jsou e-mailoví klienti implementováni v aplikacích .NET za účelem odesílání e-mailů přes SMTP. Pro takové scénáře tento článek popisuje, jak se připojit k serveru SMTP programově pomocí C#. Dále ukázky kódu demonstrují, jak odeslat e-mail přes SMTP klienta po navázání spojení.

C# API pro připojení SMTP serveru

Aspose.Email for .NET je C# API, které je navrženo k vytváření výkonných aplikací e-mailových klientů. Rozhraní API umožňuje poměrně snadno provádět složité e-mailové operace v rámci několika řádků kódu. Dále umožňuje připojení SMTP serverů přes SOCKS a HTTP proxy servery. Můžete si stáhnout DLL API nebo ji nainstalovat pomocí NuGet.

PM> Install-Package Aspose.Email

Připojte se k SMTP serveru pomocí C#

Před připojením k serveru SMTP musíte znát následující informace.

  • Uživatelské jméno
  • Heslo
  • Přístav

Jakmile je budete mít, můžete nakonfigurovat klienta SMTP pomocí následujících kroků.

Následující ukázka kódu ukazuje, jak nastavit API pro připojení SMTP v C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Nastavte uživatelské jméno, heslo, port a možnosti zabezpečení
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Jakmile nakonfigurujete rozhraní API, můžete se připojit k serveru SMTP pomocí jedné z následujících možností.

Připojte se k SMTP přes SOCKS Proxy Server v C#

Aspose.Email poskytuje podporu pro verze 4, 4a a 5 protokolu proxy SOCKS. Následují kroky pro připojení k SMTP serveru přes SOCKS proxy server pomocí Aspose.Email for .NET.

  • Inicializujte SmtpClient s adresou hostitele, uživatelským jménem, heslem a dalšími nastaveními.
  • Vytvořte objekt třídy SocksProxy a nastavte adresu a port.
  • Nastavte proxy klienta pomocí vlastnosti SmtpClient.Proxy.
  • Odešlete e-mail pomocí metody SmtpClient.Send().

Následující ukázka kódu ukazuje, jak se připojit k serveru SMTP přes SOCKS proxy pomocí C#.

// Úplné příklady a datové soubory najdete na 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)"));

Připojte se k SMTP serveru přes HTTP proxy server

Níže jsou uvedeny kroky pro připojení k serveru SMTP prostřednictvím serveru proxy HTTP.

Následující ukázka kódu ukazuje, jak se připojit k serveru SMTP prostřednictvím serveru proxy HTTP.

// Úplné příklady a datové soubory najdete na 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)"));
}

Získejte bezplatnou licenci API

Aspose.Email for .NET můžete vyzkoušet a používat zdarma pomocí získání dočasné licence.

Závěr

V tomto článku jste se naučili, jak se připojit k serveru SMTP pomocí C#. Kromě toho podrobný průvodce a ukázky kódu ukázaly, jak se připojit k serveru SMTP prostřednictvím serverů SOCKS a HTTP proxy. Více o e-mailovém API C# můžete prozkoumat pomocí dokumentace.

Viz také