Połącz się z serwerami SMTP za pomocą C#

Simple Mail Transfer Protocol (SMTP) to najczęściej używany protokół poczty e-mail, który zajmuje się wysyłaniem wiadomości e-mail z aplikacji klienckich do serwera poczty e-mail. W różnych przypadkach klienci poczty są implementowani w aplikacjach .NET w celu wysyłania wiadomości e-mail przez SMTP. W przypadku takich scenariuszy w tym artykule opisano, jak programowo nawiązać połączenie z serwerem SMTP przy użyciu C#. Ponadto przykłady kodu pokazują, jak wysłać wiadomość e-mail za pośrednictwem klienta SMTP po nawiązaniu połączenia.

Interfejs API języka C# do łączenia serwera SMTP

Aspose.Email for .NET to interfejs API języka C# przeznaczony do tworzenia zaawansowanych aplikacji klienckich poczty e-mail. Interfejs API umożliwia dość łatwe wykonywanie złożonych operacji e-mailowych w kilku wierszach kodu. Ponadto umożliwia łączenie serwerów SMTP za pośrednictwem serwerów proxy SOCKS i HTTP. Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

PM> Install-Package Aspose.Email

Połącz się z serwerem SMTP za pomocą C#

Przed nawiązaniem połączenia z serwerem SMTP należy wiedzieć o następujących kwestiach.

  • Nazwa użytkownika
  • Hasło
  • Port

Gdy już je masz, możesz skonfigurować klienta SMTP, wykonując następujące czynności.

Poniższy przykładowy kod pokazuje, jak skonfigurować interfejs API dla połączenia SMTP w języku C#.

// Aby uzyskać pełne przykłady i pliki danych, przejdź do https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Ustaw nazwę użytkownika, hasło, port i opcje zabezpieczeń
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Po skonfigurowaniu interfejsu API możesz połączyć się z serwerem SMTP, korzystając z jednej z poniższych opcji.

Połącz się z SMTP przez serwer proxy SOCKS w języku C#

Aspose.Email zapewnia obsługę wersji 4, 4a i 5 protokołu proxy SOCKS. Poniżej przedstawiono kroki, aby połączyć się z serwerem SMTP za pośrednictwem serwera proxy SOCKS przy użyciu Aspose.Email for .NET.

Poniższy przykładowy kod pokazuje, jak nawiązać połączenie z serwerem SMTP za pośrednictwem serwera proxy SOCKS przy użyciu języka C#.

// Aby uzyskać pełne przykłady i pliki danych, przejdź do 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)"));

Połącz się z serwerem SMTP za pośrednictwem serwera proxy HTTP

Poniżej przedstawiono kroki, aby połączyć się z serwerem SMTP za pośrednictwem serwera proxy HTTP.

Poniższy przykładowy kod pokazuje, jak połączyć się z serwerem SMTP za pośrednictwem serwera proxy HTTP.

// Aby uzyskać pełne przykłady i pliki danych, przejdź do 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)"));
}

Uzyskaj bezpłatną licencję API

Możesz spróbować użyć Aspose.Email for .NET za darmo, uzyskując tymczasową licencję.

Wniosek

W tym artykule nauczyłeś się, jak połączyć się z serwerem SMTP przy użyciu języka C#. Ponadto przewodnik krok po kroku i próbki kodu pokazały, jak połączyć się z serwerem SMTP za pośrednictwem serwerów proxy SOCKS i HTTP. Możesz dowiedzieć się więcej o interfejsie API poczty e-mail C#, korzystając z dokumentacji.

Zobacz też