Aspose.Email  para .NET

Enviar correo mediante SMTP en C#

Una forma segura y flexible de enviar correos en C# usando SMTP, OAuth y TLS. Incluye soporte asíncrono y compatibilidad multiplataforma.

  Descargar prueba gratuita

Cliente SMTP C# para entrega segura de correo

SMTP (Simple Mail Transfer Protocol) es el protocolo estándar para enviar correo a través de redes. Opera en la capa de aplicación del modelo TCP/IP, garantizando una transmisión fiable y eficiente de datos entre servidores, dispositivos y usuarios.

Aspose.Email para .NET optimiza el uso del protocolo en aplicaciones .NET con una API segura y moderna. La biblioteca ofrece una moderna y rica en funciones SmtpClient diseñado para satisfacer las necesidades de las aplicaciones seguras y de alto rendimiento de hoy. Como una alternativa poderosa al obsoleto System.Net.Mail.SmtpClient, simplifica la transmisión de correo en entornos .NET abstraiendo operaciones complejas a nivel de protocolo y ofreciendo funcionalidad robusta para entregas seguras y flexibles.

Con soporte para protocolos modernos como OAuth 2.0 y SSL/TLS, operaciones asíncronas sin problemas y compatibilidad multiplataforma, es una solución ideal para desarrolladores que construyen sistemas escalables sin preocuparse por la implementación de bajo nivel de la mecánica SMTP.

Características clave del cliente SMTP de Aspose.Email:

  • Autenticación OAuth 2.0 para envío seguro basado en tokens

  • Cifrado SSL/TLS con negociación de seguridad automática o configurable

  • Envío asíncrono para operaciones no bloqueantes en servicios web y de fondo

  • Soporte multiplataforma en Windows, Linux y macOS

  • Métodos de entrega flexibles: red, directorio de recogida o servicio SMTP IIS

  • Soporte total de proxy para operar de forma segura en entornos restringidos

  • Manejo de formatos ricos incluyendo MSG, EML, MHT, PST y otros

  • Procesamiento integrado de mensajes: analizar, manipular y gestionar el contenido del correo

  • API simple y de alto nivel que abstrae las complejidades del protocolo SMTP

Concéntrese en crear el contenido y la lógica de negocio, mientras Aspose.Email gestiona de forma fiable la comunicación con el servidor, el formato de los mensajes y la entrega segura. La biblioteca ofrece todas las clases y métodos necesarios para realizar configuraciones deseables en C#. Es una biblioteca potente que le permite trabajar con mensajes y brinda funcionalidades para enviar, recibir y manipularlos. Los desarrolladores .NET pueden aprovechar sus capacidades para lograr un relé de correo exitoso.

Ejemplo C#: Enviar correo usando el cliente SMTP

El envío de correo SMTP en C# se simplifica al gestionar internamente el formato del mensaje, la conexión al servidor, el cifrado y la autenticación. Los desarrolladores ya no necesitan manejar manualmente los detalles de bajo nivel del protocolo SMTP; solo configuran el cliente y envían. Esto facilita la implementación de funciones de correo en aplicaciones ASP.NET y .NET usando la sintaxis familiar de C#.

  1. Cree un mensaje usando el MailMessage clase.

  2. Configure el cliente SMTP con la dirección del servidor, puerto, credenciales y ajustes de cifrado.

  3. Envíe el mensaje usando SmtpClient.Send().

Código de ejemplo para enviar correo - 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 ejemplo de cliente SMTP en C# usa el puerto 587 (STARTTLS) y negocia automáticamente cifrado SSL/TLS seguro. Es totalmente compatible con proveedores SMTP populares como Gmail, Outlook o servidores de correo empresariales. Para proyectos ASP.NET, el envío asíncrono con SendAsync() también está soportado.

Enviar correo asíncronamente vía SMTP en C#

El envío asíncrono es esencial para aplicaciones web de alto rendimiento, especialmente cuando los servidores SMTP pueden tardar en responder o reintentar la entrega. Aspose.Email para .NET soporta operaciones SMTP asíncronas usando el patrón asíncrono basado en tareas (TAP).

El siguiente ejemplo de código muestra cómo crear un mensaje y prepararlo para enviar usando un método asíncrono con SMTP:

Ejemplo de código para enviar mensajes así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 más información y ejemplos de código, consulte el Cliente SMTP para enviar correos, reenviar mensajes y realizar combinación de correspondencia en C# en nuestra documentación de usuario.

Enviar correo usando OAuth 2.0

Los servidores SMTP modernos - especialmente los de Microsoft (Outlook 365) y Google - requieren OAuth 2.0 para autenticación segura sin contraseñas. Aspose.Email para .NET soporta completamente el envío de mensajes con tokens OAuth 2.0, eliminando la necesidad de almacenar credenciales de usuario.

Pruebe el siguiente ejemplo de código que muestra cómo autenticarse con OAuth y enviar un mensaje:

Autenticación 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 comenzar a usar la biblioteca, necesita instalarla en su proyecto. La forma más fácil es usar Administrador de paquetes NuGet:

Opción 1: Usando Visual Studio

  1. Abra su proyecto C# en Visual Studio.

  2. Haga clic con el botón derecho en el nombre del proyecto en el Explorador de soluciones y seleccione Administrar paquetes NuGet.

  3. Busque Aspose.Email y haga clic en Instalar.

Opción 2: Usando .NET CLI

Ejecúe el siguiente comando en su terminal:

dotnet add package Aspose.Email

La compatibilidad con .NET Framework, .NET Core y .NET 5/6/7+ lo hace ideal para aplicaciones modernas de escritorio, web y basadas en la nube.

Descubra más con Aspose.Email para .NET

Más allá de SMTP, la biblioteca permite el procesamiento completo de correo electrónico, desde la creación y análisis de mensajes hasta la gestión de archivos PST/OST, trabajando con Microsoft Exchange, y la integración con Microsoft Graph. Soporta combinación de correspondencia, programación de citas y conversiones complejas (EML ↔ MSG, MBOX ↔ PST, etc.), todo sin necesidad de Microsoft Outlook ni dependencias de interoperabilidad.

Explore todo lo que puede crear: Ver lista completa de características