Enviar email via SMTP em C#
Uma forma segura e flexível de enviar emails em C# usando SMTP, OAuth e TLS. Inclui suporte assíncrono e compatibilidade multiplataforma.
Download grátis julgamentoCliente SMTP C# para entrega segura de email
SMTP (Simple Mail Transfer Protocol) é o protocolo padrão para enviar email através de redes. Ele opera na camada de aplicação do modelo TCP/IP, garantindo transmissão confiável e eficiente de dados entre servidores, dispositivos e usuários.
Aspose.Email para .NET simplifica o uso do protocolo em aplicações .NET com uma API segura e moderna. A biblioteca fornece uma API moderna e rica em recursos SmtpClient projetado para atender às necessidades das aplicações seguras e de alto desempenho de hoje. Como uma alternativa poderosa ao obsoleto System.Net.Mail.SmtpClient, simplifica a transmissão de email em ambientes .NET ao abstrair operações complexas a nível de protocolo e oferecer funcionalidade robusta para entrega segura e flexível.
Com suporte a protocolos modernos como OAuth 2.0 e SSL/TLS, operações async sem interrupções, e compatibilidade entre plataformas, é uma solução ideal para desenvolvedores que constroem sistemas escaláveis sem se preocupar com a implementação de baixo nível da mecânica SMTP.
Principais recursos do cliente SMTP Aspose.Email:
Autenticação OAuth 2.0 para envio seguro baseado em token
Criptografia SSL/TLS com negociação de segurança automática ou configurável
Envio assíncrono para operações não bloqueantes em serviços web e de background
Suporte multiplataforma em Windows, Linux e macOS
Métodos flexíveis de entrega: rede, diretório de coleta ou serviço SMTP IIS
Suporte total a proxy para operar com segurança em ambientes restritos
Manipulação rica de formatos incluindo MSG, EML, MHT, PST e outros
Processamento integrado de mensagens: analisar, manipular e gerenciar o conteúdo do email
API simples e de alto nível que abstrai as complexidades do protocolo SMTP
Concentre-se em criar o conteúdo e a lógica de negócios, enquanto Aspose.Email gerencia de forma confiável a comunicação com o servidor, formatação de mensagens e entrega segura. A biblioteca oferece todas as classes e métodos necessários para fazer as configurações desejáveis em C#. É uma biblioteca poderosa que permite trabalhar com mensagens e fornece funcionalidades para enviar, receber e manipulá-las. Desenvolvedores .NET podem aproveitar suas capacidades para alcançar um encaminhamento de email bem-sucedido.
Exemplo C#: Enviar Email usando o Cliente SMTP
O envio de email SMTP em C# é simplificado ao tratar internamente a formatação da mensagem, conexão ao servidor, criptografia e autenticação. Os desenvolvedores não precisam mais gerenciar manualmente os detalhes de baixo nível do protocolo SMTP – basta configurar o cliente e enviar. Isso facilita a implementação de recursos de email em aplicações ASP.NET e .NET usando a sintaxe familiar de C#.
Criar uma mensagem usando o MailMessage classe.
Configure o cliente SMTP com endereço do servidor, porta, credenciais e configurações de criptografia.
Enviar a mensagem usando SmtpClient.Send().
Código de exemplo para enviar email - 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);
}
Este exemplo de cliente SMTP C# usa a porta 587 (STARTTLS) e negocia automaticamente criptografia SSL/TLS segura. É totalmente compatível com provedores SMTP populares como Gmail, Outlook ou servidores de email corporativos. Para projetos ASP.NET, envio assíncrono com SendAsync() também é suportado.
Enviar Email Assincronamente via SMTP em C#
O envio assíncrono é essencial para aplicações web de alto desempenho, especialmente quando servidores SMTP podem demorar a responder ou a tentar novamente a entrega. Aspose.Email para .NET suporta operações SMTP assíncronas usando o padrão Task-based Asynchronous Pattern (TAP).
O exemplo de código a seguir demonstra como criar uma mensagem e prepará-la para envio usando um método assíncrono com SMTP:
Exemplo de código para enviar mensagens assíncronamente
// 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.");
Para mais informações e exemplos de código, consulte o Cliente SMTP para Enviar Emails, Encaminhar Mensagens e Realizar Mail Merge em C# na nossa documentação do usuário.
Enviar Email usando OAuth 2.0
Servidores SMTP modernos – especialmente os da Microsoft (Outlook 365) e Google – exigem OAuth 2.0 para autenticação segura sem senha. Aspose.Email para .NET suporta totalmente o envio de mensagens com tokens OAuth 2.0, eliminando a necessidade de armazenar credenciais de usuário.
Experimente o exemplo de código a seguir que demonstra como autenticar com OAuth e enviar uma mensagem:
Autenticação 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.");
Instalar Aspose.Email para .NET
Para começar a usar a biblioteca, você precisa instalá-la em seu projeto. A maneira mais fácil de fazer isso é usar Gerenciador de Pacotes NuGet:
Opção 1: Usando o Visual Studio
Abra seu projeto C# no Visual Studio.
Clique com o botão direito no nome do projeto no Solution Explorer e selecione Gerenciar Pacotes NuGet.
Pesquise por Aspose.Email e clique em Instalar.
Opção 2: Usando .NET CLI
Execute o seguinte comando em seu terminal:
dotnet add package Aspose.Email
Compatibilidade com .NET Framework, .NET Core e .NET 5/6/7+ a torna ideal para aplicações modernas de desktop, web e baseadas em nuvem.
Descubra Mais com Aspose.Email para .NET
Além do SMTP, a biblioteca permite o processamento completo de e‑mail – desde a criação e análise de mensagens até o gerenciamento de arquivos PST/OST, trabalhando com Microsoft Exchange, e integrando com Microsoft Graph. Suporta mala direta, agendamento de compromissos e conversões complexas (EML ↔ MSG, MBOX ↔ PST, etc.), tudo sem precisar do Microsoft Outlook ou dependências de interop.
Explore tudo o que você pode criar: Ver Lista Completa de Recursos