Простий протокол передачі пошти(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-клієнт, виконавши такі кроки.
- Створіть об’єкт класу SmtpClient.
- Установіть ім’я користувача, пароль і номер порту за допомогою властивостей SmtpClient.Username, SmtpClient.Password і SmtpClient.Port відповідно.
- Встановіть параметри безпеки за допомогою властивості SmtpClient.SecurityOptions.
У наведеному нижче прикладі коду показано, як налаштувати 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# за допомогою документації.