Отправка письма через SMTP в C#
Безопасный и гибкий способ отправки писем в C# с использованием SMTP, OAuth и TLS. Включает поддержку async и кросс‑платформенную совместимость.
Скачать бесплатную пробную версиюC# SMTP‑клиент для безопасной доставки писем
SMTP (Simple Mail Transfer Protocol) — это стандартный протокол для отправки электронной почты через сети. Он работает на уровне прикладного слоя модели TCP/IP, обеспечивая надёжную и эффективную передачу данных между серверами, устройствами и пользователями.
Aspose.Email для .NET упрощает использование протокола в приложениях .NET благодаря безопасному, современному API. Библиотека предоставляет современный, функционально насыщенный SmtpClient создано для удовлетворения потребностей современных безопасных, высокопроизводительных приложений. Как мощная альтернатива устаревшему System.Net.Mail.SmtpClient, он упрощает передачу почты в средах .NET, абстрагируя сложные операции на уровне протокола и предоставляя надёжную функциональность для безопасной, гибкой доставки.
С поддержкой современных протоколов, таких как OAuth 2.0 и SSL/TLS, бесшовными асинхронными операциями и совместимостью с различными платформами, это идеальное решение для разработчиков, создающих масштабируемые системы без необходимости заниматься низкоуровневой реализацией механики SMTP.
Ключевые возможности SMTP‑клиента Aspose.Email:
Аутентификация OAuth 2.0 для безопасной отправки на основе токенов
Шифрование SSL/TLS с автоматическим или настраиваемым согласованием безопасности
Асинхронная отправка для неблокирующих операций в веб‑ и фоновых сервисах
Кросс‑платформенная поддержка на Windows, Linux и macOS
Гибкие методы доставки: сеть, каталог для pickup или сервис IIS SMTP
Полная поддержка прокси для безопасной работы в ограниченных средах
Поддержка различных форматов, включая MSG, EML, MHT, PST и другие
Интегрированная обработка сообщений: разбор, изменение и управление содержимым письма
Простой, высокоуровневый API, абстрагирующий сложность протокола SMTP
Сосредоточьтесь на создании содержимого и бизнес‑логики, пока Aspose.Email надёжно управляет соединением с сервером, форматированием сообщений и безопасной доставкой. Библиотека предлагает все необходимые классы и методы для удобной настройки в C#. Это мощная библиотека, позволяющая работать с сообщениями и предоставляющая функции отправки, получения и изменения их. Разработчики .NET могут использовать её возможности для успешной доставки почты.
Пример C#: отправка письма с использованием SMTP‑клиента
Отправка SMTP‑письма в C# упрощена за счёт внутренней обработки форматирования сообщения, соединения с сервером, шифрования и аутентификации. Разработчикам больше не нужно вручную управлять деталями низкоуровневого протокола SMTP — достаточно настроить клиент и отправить. Это упрощает внедрение почтовых функций в ASP.NET и .NET‑приложениях, используя знакомый синтаксис C#.
Создайте сообщение с помощью MailMessage класс.
Настройте SMTP‑клиент, указав адрес сервера, порт, учётные данные и параметры шифрования.
Отправьте сообщение, используя SmtpClient.Send().
Пример кода отправки письма — C#
// Create a message
MailMessage message = new MailMessage();
message.From = new MailAddress("sender@example.com");
message.To.Add("recipient@example.com");
message.Subject = "Test Email";
message.Body = "This is a test email sent using Aspose.Email SMTP client.";
// Set up the SMTP client
SmtpClient client = new SmtpClient("smtp.example.com", 587);
client.Username = "your_smtp_username";
client.Password = "your_smtp_password";
client.SecurityOptions = SecurityOptions.Auto; // SSL/TLS negotiation
// Send the email
try
{
client.Send(message);
Console.WriteLine("Email sent successfully!");
}
catch (SmtpException ex)
{
Console.WriteLine("Failed to send email: " + ex.Message);
}
Этот пример C# SMTP‑клиента использует порт 587 (STARTTLS) и автоматически согласует безопасное шифрование SSL/TLS. Он полностью совместим с популярными SMTP‑провайдерами, такими как Gmail, Outlook или корпоративные почтовые серверы. Для проектов ASP.NET поддерживается асинхронная отправка с SendAsync() также поддерживается.
Асинхронная отправка письма через SMTP в C#
Асинхронная отправка необходима для высокопроизводительных веб‑приложений, особенно когда SMTP‑серверы могут задерживать ответ или повторные попытки доставки. Aspose.Email для .NET поддерживает асинхронные SMTP‑операции, используя паттерн Task‑based Asynchronous Pattern (TAP).
Следующий пример кода демонстрирует, как создать сообщение и подготовить его к отправке с использованием асинхронного метода SMTP:
Пример кода для асинхронной отправки сообщений
// Create and send a message
var message = new MailMessage("from@domain.com", "to@domain.com", "Async Subject", "Async Body");
var sendOptions = SmtpSend.Create();
sendOptions.AddMessage(message);
await client.SendAsync(sendOptions);
Console.WriteLine("Email sent asynchronously.");
Для получения дополнительной информации и примеров кода, пожалуйста, обратитесь к SMTP‑клиенту для отправки писем, пересылки сообщений и выполнения слияния писем в C# в нашей пользовательской документации.
Отправка письма с использованием OAuth 2.0
Современные SMTP‑серверы — особенно от Microsoft (Outlook 365) и Google — требуют OAuth 2.0 для безопасной аутентификации без пароля. Aspose.Email для .NET полностью поддерживает отправку сообщений с токенами OAuth 2.0, устраняя необходимость хранить учётные данные пользователей.
Попробуйте следующий пример кода, демонстрирующий аутентификацию с OAuth и отправку сообщения:
Аутентификация OAuth 2.0 — C#
// Set up OAuth2 credentials
var tokenProvider = new TokenProvider(clientId, tenantId, redirectUri, scopes);
// Create the SMTP client using OAuth2 and connect
var client = await SmtpClient.CreateAsync("smtp.office365.com", username, tokenProvider, 587);
// Compose and send the message
var message = new MailMessage("sender@domain.com", "recipient@domain.com", "OAuth Subject", "Secure email body");
var options = SmtpSend.Create();
options.AddMessage(message);
await client.SendAsync(options);
Console.WriteLine("Message sent securely via OAuth 2.0.");
Установите Aspose.Email для .NET
Чтобы начать использовать библиотеку, её необходимо установить в ваш проект. Самый простой способ — использовать Менеджер пакетов NuGet:
Вариант 1: Использование Visual Studio
Откройте ваш проект C# в Visual Studio.
Щелкните правой кнопкой мыши на имени проекта в обозревателе решений и выберите «Управлять пакетами NuGet».
Найдите Aspose.Email и нажмите «Установить».
Вариант 2: Использование .NET CLI
Выполните следующую команду в терминале:
dotnet add package Aspose.Email
Совместимость с .NET Framework, .NET Core и .NET 5/6/7+ делает его идеальным для современных настольных, веб- и облачных приложений.
Узнайте больше об Aspose.Email для .NET
Помимо SMTP, библиотека обеспечивает полную обработку электронной почты — от создания и разбора сообщений до управления файлами PST/OST, работы с Microsoft Exchange, а также интеграции с Microsoft Graph. Поддерживает слияние писем, планирование встреч и сложные преобразования (EML ↔ MSG, MBOX ↔ PST и т.д.), всё без необходимости Microsoft Outlook или зависимостей interop.
Исследуйте всё, что вы можете создать: Посмотреть полный список функций