Підключення до серверів SMTP за допомогою C#

Простий протокол передачі пошти(SMTP) — це найпоширеніший протокол електронної пошти, який надсилає повідомлення електронної пошти з клієнтських програм на сервер електронної пошти. У різних випадках клієнти електронної пошти реалізуються в програмах .NET для надсилання електронних листів через SMTP. Для таких сценаріїв у цій статті описано, як підключитися до SMTP-сервера програмним шляхом за допомогою C#. Крім того, зразки коду демонструють, як надіслати електронний лист через клієнт SMTP після встановлення з’єднання.

C# API для підключення SMTP-сервера

Aspose.Email for .NET — це API C#, призначений для створення потужних клієнтських програм електронної пошти. API дає змогу досить легко виконувати складні операції з електронною поштою за допомогою кількох рядків коду. Крім того, він дозволяє підключати SMTP-сервери через SOCKS і проксі-сервери HTTP. Ви можете завантажити DLL API або встановити його за допомогою NuGet.

PM> Install-Package Aspose.Email

Підключення до SMTP-сервера за допомогою C#

Перш ніж підключатися до SMTP-сервера, необхідно знати наступне.

  • Ім’я користувача
  • Пароль
  • Порт

Отримавши їх, ви можете налаштувати SMTP-клієнт, виконавши такі кроки.

У наведеному нижче прикладі коду показано, як налаштувати API для з’єднання SMTP у C#.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Встановіть ім’я користувача, пароль, порт і параметри безпеки
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Після того, як ви налаштували API, ви можете підключитися до SMTP-сервера за допомогою одного з наведених нижче параметрів.

Підключення до SMTP через проксі-сервер SOCKS у C#

Aspose.Email забезпечує підтримку версій 4, 4a та 5 протоколу проксі SOCKS. Нижче наведено кроки для підключення до SMTP-сервера через проксі-сервер SOCKS за допомогою Aspose.Email for .NET.

  • Ініціалізуйте SmtpClient адресою хоста, іменем користувача, паролем та іншими налаштуваннями.
  • Створіть об’єкт класу SocksProxy і встановіть адресу та порт.
  • Встановіть проксі клієнта за допомогою властивості SmtpClient.Proxy.
  • Надішліть електронний лист за допомогою методу SmtpClient.Send().

У наступному прикладі коду показано, як підключитися до SMTP-сервера через проксі-сервер SOCKS за допомогою C#.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку 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)"));

Підключіться до SMTP-сервера через проксі-сервер HTTP

Нижче наведено кроки для підключення до SMTP-сервера через проксі-сервер HTTP.

  • Створіть екземпляр класу HttpProxy та ініціалізуйте його IP-адресою та номером порту.
  • Створіть і налаштуйте об’єкт SmtpClient.
  • Встановіть HTTP-проксі за допомогою властивості SmtpClient.Proxy.
  • Надішліть електронний лист за допомогою методу SmtpClient.Send().

У наведеному нижче прикладі коду показано, як підключитися до SMTP-сервера через проксі-сервер HTTP.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку 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)"));
}

Отримайте безкоштовну ліцензію API

Ви можете спробувати безкоштовно використовувати Aspose.Email for .NET, отримавши тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як підключитися до SMTP-сервера за допомогою C#. Крім того, у покроковому посібнику та зразках коду показано, як підключитися до SMTP-сервера через SOCKS і проксі-сервери HTTP. Ви можете дізнатися більше про API електронної пошти C# за допомогою документації.

Дивись також