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ů.
- Vytvořte objekt třídy SmtpClient.
- Nastavte uživatelské jméno, heslo a číslo portu pomocí vlastností SmtpClient.Username, SmtpClient.Password a SmtpClient.Port.
- Nastavte možnosti zabezpečení pomocí vlastnosti SmtpClient.SecurityOptions.
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.
- Vytvořte instanci třídy HttpProxy a inicializujte ji pomocí IP a čísla portu.
- Vytvořte a nakonfigurujte objekt SmtpClient.
- Nastavte HTTP proxy 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 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.