Aspose.Email  para .NET

Cómo enviar correos electrónicos usando la API Microsoft 365 Graph en aplicaciones .NET

Integre capacidades seguras de envío de correo en sus aplicaciones .NET con soporte para composición de mensajes, autenticación OAuth2 y archivos adjuntos.

  Descargar prueba gratuita

Enviar un correo electrónico en C# con la API Microsoft 365 Graph

Integrar la API Microsoft Graph en aplicaciones .NET permite a los desarrolladores simplificar el proceso de envío de mensajes a través de los servicios de Microsoft 365. Aspose.Email para .NET simplifica este proceso, ofreciendo funciones mejoradas como manejo de adjuntos, seguimiento y comunicación segura. La biblioteca le permite crear y entregar comunicaciones de correo electrónico personalizadas y de alto rendimiento directamente desde sus aplicaciones .NET.

Ventajas clave de usar Aspose.Email con Microsoft Graph

  • No se requiere SMTP ni autenticación básica - Use autenticación segura basada en tokens modernos (OAuth2).

  • Integración con Microsoft 365 y Outlook - Conéctese a buzones y servicios de Microsoft 365 fácilmente.

  • Listo para empresas para desarrolladores .NET - Diseñado para escalabilidad, fiabilidad y flujos de trabajo de correo corporativo.

  • API totalmente gestionada - Sin dependencias externas - Biblioteca .NET todo en uno, sin necesidad del SDK de Graph ni clientes de terceros.

  • Compatible con .NET Framework y .NET Core / .NET 6+ - Compatible con entornos .NET modernos y heredados.

  • Despliegue rápido con configuración mínima - API fácil de usar con código de ejemplo para una implementación rápida.

Ejemplo de código

Experimente la facilidad de integrar el envío de correo Microsoft 365 en su aplicación .NET con el cliente Graph integrado de Aspose.Email.

Código de ejemplo para enviar correo - C#

var client = GraphClient.GetClient(authProvider);
var message = new MailMessage(...);
client.Send(message);

Cómo funciona

Microsoft Graph es una API web RESTful que permite el acceso a los servicios de Microsoft 365, incluida la capacidad de enviar correos electrónicos. Al enviar correos mediante Microsoft Graph, las solicitudes se envían usando HTTP POST al endpoint /sendMail, junto con la carga útil del mensaje. Esta carga útil suele ser un objeto JSON que contiene el contenido del mensaje (destinatarios, asunto, cuerpo, etc.) y los archivos adjuntos.

Al recibir la solicitud, MS Graph la procesa y responde con un código de estado HTTP. Una operación de envío exitosa devuelve una respuesta 202 Accepted, indicando que el mensaje ha sido puesto en cola para su entrega. Manejar estas respuestas permite a los desarrolladores asegurar una comunicación exitosa o depurar cualquier problema que surja.

Autenticando solicitudes de Microsoft Graph

Llamar a Microsoft Graph no es tan simple como enviar una solicitud HTTP—primero debe manejar la autenticación. La API Graph está protegida por Azure Active Directory (Azure AD), lo que significa que debe obtener un token de acceso antes de realizar cualquier solicitud. Este token de acceso especifica qué operaciones puede realizar, según los permisos concedidos durante el proceso de autenticación.

Para autenticarse, primero debe crear un registro de aplicación en Azure AD, definir los permisos requeridos y luego solicitar un token de acceso usando el flujo OAuth apropiado. Una vez que tenga el token, inclúyalo en el Authorization encabezado de sus solicitudes.

Aspose.Email para .NET simplifica el proceso de obtención y gestión del token de acceso, asegurando que la aplicación pueda interactuar de forma segura con Microsoft Graph. Al implementar su ITokenProvider interfaz, los desarrolladores pueden recuperar eficientemente el token OAuth 2.0 necesario para la autenticación. Una vez que se haya configurado el registro de la aplicación en el portal de Azure y se hayan concedido los permisos necesarios, como Mail.Send, los desarrolladores pueden usar las funciones de la biblioteca para incorporar funcionalidades extensas de correo electrónico en sus aplicaciones.

Comience con algunos pasos esenciales:

  1. Registre su aplicación en el portal de Azure y conceda permisos como Mail.Send para enviar correos electrónicos.
  2. Obtenga un token de acceso: Implemente el ITokenProvider interfaz de Aspose.Email para .NET para recuperar el token OAuth 2.0 necesario para la autenticación.
  3. Instale Aspose.Email para .NET vía NuGet o descargando su DLL archivo.

Al seguir estos pasos, estará bien preparado para comenzar a programar.

Comprendiendo la solicitud y respuesta de Microsoft Graph

Solicitud: Los datos como asunto del mensaje, cuerpo, detalles del destinatario y adjuntos, se estructuran en formato JSON. Cuando se llama al método Send, estos datos se serializan y se envían como una solicitud POST al endpoint /sendMail de Microsoft Graph.

Respuesta: La respuesta de la API Graph se devuelve como un código de estado. Una respuesta 202 Accepted indica una transmisión exitosa, mientras que códigos de error como 401 Unauthorized o 403 Forbidden pueden indicar problemas de autenticación o permisos.

La biblioteca .NET ofrece funciones incorporadas para formar, enviar solicitudes y analizar respuestas al interactuar con servicios externos como Microsoft Graph. Estas funcionalidades permiten a los desarrolladores optimizar la comunicación con los servicios de Microsoft 365 (p. ej., Outlook, Calendar, Contacts) sin necesidad de crear manualmente solicitudes HTTP o analizar respuestas JSON crudas.

  1. Formación de solicitudes: Aspose.Email simplifica la creación de solicitudes al proporcionar clases y métodos específicos que abstraen la complejidad de la formación de solicitudes. Por ejemplo, los desarrolladores pueden interactuar con correos, calendarios y contactos a través de APIs intuitivas sin construir manualmente las solicitudes Graph requeridas.

  2. Envío de solicitudes: La biblioteca incluye mecanismos incorporados para enviar solicitudes directamente a servicios como Microsoft Graph. En lugar de gestionar la autenticación y los métodos HTTP manualmente, Aspose.Email maneja el proceso tras bastidores. Esto incluye agregar encabezados necesarios como tokens de autorización y tipos de contenido, asegurando que la solicitud esté correctamente formateada para una comunicación exitosa con los servicios de Microsoft.

  3. Análisis de respuestas: Con soporte para el análisis de respuestas, puede convertir respuestas JSON o XML crudas en objetos estructurados, como MailMessage, CalendarEvent o Contact. Esto elimina la necesidad de que los desarrolladores manejen el análisis JSON directamente. Los datos analizados pueden usarse inmediatamente dentro de la aplicación, haciendo el proceso de integración más fluido y eficiente.

Estas funciones permiten a los desarrolladores centrarse más en la lógica de negocio en lugar de gestionar las complejidades subyacentes de la interacción con los servicios de correo.

Ejemplo completo de código C# para enviar correos con OAuth2 y Aspose.Email

El siguiente ejemplo muestra el proceso completo de envío de un correo electrónico usando la API Graph a través de Aspose.Email para .NET. Algunas líneas de código le permiten generar un token de acceso OAuth2, inicializar el cliente Graph, componer un mensaje y enviarlo:

  1. Cree una instancia de IGraphClient llamando a GetClient método.
  2. Inicialice un objeto eml de MailMessage clase, establezca sus propiedades.
  3. Envíe el mensaje usando el Enviar método de la biblioteca.

Ejemplo completo de integración OAuth2 y Microsoft Graph

using Aspose.Email;
using Aspose.Email.Clients.Graph;

// Generate the access token
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Create a Graph client
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Create a new message
var eml = new MailMessage(fromAddress, toAddress, subject, body);
   
// Send message
client.Send(eml);

Enviar correos con adjuntos

Enviar correos con adjuntos mediante Microsoft Graph es simple y eficiente con la biblioteca Aspose.Email para .NET. Los adjuntos pueden ser cualquier tipo de archivo, como documentos, imágenes o PDFs, que se envían junto al mensaje de correo. Esto es particularmente útil para compartir recursos como informes, presentaciones u otros documentos vitales directamente a través de su aplicación .NET.

En el siguiente fragmento de código, los adjuntos se agregan al objeto MailMessage antes de enviar el correo:

Código de ejemplo para enviar correo - C#

// Add attachments to the message
Attachment attachment = new Attachment("path_to_attachment");
eml.Attachments.Add(attachment);

Cómo se procesan los adjuntos

  1. Cargando adjuntos: El adjunto se carga desde la ruta de archivo especificada ("path_to_attachment"), que podría ser un archivo local o un flujo. El Adjunto clase le permite agregar cualquier tipo de archivo como adjunto, haciéndolo altamente flexible.
  2. Agregar al correo: Una vez creado el adjunto, se agrega al mensaje de correo usando el Attachments.Add() método. Este método agrega el archivo a la MailMessage colección de adjuntos del objeto, que se incluye automáticamente cuando el mensaje se envía a través de MS Graph.
  3. Envío del correo: Una vez que los adjuntos se han añadido al mensaje, el Enviar método del IGraphClient interfaz envía el correo con todos los archivos adjuntos.

Manejo de múltiples adjuntos

Puede agregar fácilmente varios adjuntos repitiendo el proceso para cada archivo. Aquí le mostramos cómo adjuntar más de un archivo:

Attachment attachment1 = new Attachment("file1.pdf");
Attachment attachment2 = new Attachment("image.png");
eml.Attachments.Add(attachment1);
eml.Attachments.Add(attachment2);

Límites de tamaño de adjuntos

Es importante notar que Microsoft Graph impone límites de tamaño para los mensajes de correo. El tamaño total de un correo, incluidos los adjuntos, no debe superar los 25 MB. Si necesita enviar archivos más grandes, considere cargarlos a un servicio de almacenamiento en la nube (como OneDrive) y enviar el enlace del archivo en su lugar.

¿Quiere más? Explore el soporte completo de Microsoft Graph

Aspose.Email para .NET ofrece una integración ampliada de Microsoft 365 a través de la API Graph. También puede:

  • Administre carpetas, mensajes y borradores

  • Trabaje con adjuntos y categorías

  • Maneje contactos, eventos de calendario, blocs de notas y más

Explore completo Características de Microsoft Graph.

Instale la API .NET

Dedique un minuto a instalar la biblioteca en su proyecto y comience a crear soluciones de correo Microsoft 365 seguras y escalables con Aspose.Email para .NET. Elija la forma más conveniente:

  • Usar NuGet Administrador de paquetes
  • Referencia la requerida ensamblados
  • O simplemente use el siguiente comando dentro de la Consola del Administrador de paquetes en Visual Studio:

Comando


PM> Install-Package Aspose.Email