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
- Połącz się z serwerem SMTP
- Uzyskaj bezpłatną licencję API
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.
- Utwórz obiekt klasy SmtpClient.
- Ustaw nazwę użytkownika, hasło i numer portu, używając odpowiednio właściwości SmtpClient.Username, SmtpClient.Password i SmtpClient.Port.
- Ustaw opcje zabezpieczeń za pomocą właściwości SmtpClient.SecurityOptions.
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.
- Zainicjuj SmtpClient adresem hosta, nazwą użytkownika, hasłem i innymi ustawieniami.
- Utwórz obiekt klasy SocksProxy i ustaw adres oraz port.
- Ustaw serwer proxy klienta za pomocą właściwości SmtpClient.Proxy.
- Wyślij e-mail za pomocą metody SmtpClient.Send().
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.
- Utwórz instancję klasy HttpProxy i zainicjuj ją adresem IP i numerem portu.
- Utwórz i skonfiguruj obiekt SmtpClient.
- Ustaw serwer proxy HTTP za pomocą właściwości SmtpClient.Proxy.
- Wyślij e-mail za pomocą metody SmtpClient.Send().
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.