Cree y envíe mensajes usando la API de Microsoft Graph en C#

Microsoft ofrece Graph API para acceder a los servicios de Office 365 y Microsoft Cloud mediante programación desde sus aplicaciones. Además, puede usar Graph API para administrar carpetas, enviar mensajes y realizar otras operaciones. En este artículo, aprenderá a crear y enviar mensajes mediante la API de Microsoft Graph en C#.

C# .NET Microsoft Graph API para crear y enviar mensajes

Aspose.Email for .NET es una API increíble para crear y enviar correos electrónicos desde aplicaciones .NET. Además, le permite usar la API de Microsoft Graph y administrar carpetas, mensajes, etc. Usaremos esta API para crear y enviar mensajes usando la API de Microsoft Graph. Puede descargar la DLL de la API o instalarla desde NuGet con el siguiente comando.

PM> Install-Package Aspose.Email

Crear un mensaje usando la API de Microsoft Graph en C#

Para comunicarse con Graph API, primero debe implementar la interfaz ITokenProvider para autenticar las solicitudes. La siguiente es la implementación básica de ITokenProvider.

class AccessTokenProvider : ITokenProvider
{
    DateTime expirationDate = DateTime.Now;

    public void Dispose()
    {
    }
    public OAuthToken GetAccessToken(bool ignoreExistingToken)
    {
        // Obtiene el token de acceso de oAuth.
        // Si ignoreExistingToken es verdadero, solicita un nuevo token de un servidor. De lo contrario, el comportamiento depende de si el token existe o no.
        // Si el token existe y su fecha de vencimiento no ha vencido, devuelve el token actual; de lo contrario, solicita un nuevo token de un servidor.
        return null;
    }
    public OAuthToken GetAccessToken()
    {
        // Obtiene el token de acceso de oAuth.
        // Si el token existe y su fecha de vencimiento no ha vencido, devuelve el token actual; de lo contrario, solicita un nuevo token de un servidor.
        return new OAuthToken("token", expirationDate);
    }
}

Los siguientes son los pasos para crear un mensaje usando Microsoft Graph API en C#.

El siguiente ejemplo de código muestra cómo crear un mensaje con Microsoft Graph API en C#.

// Generar el token de acceso
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Crear un cliente gráfico
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Crear un nuevo mensaje
MapiMessage mm = new MapiMessage();
mm.Subject = "EMAILNET-39318 " + Guid.NewGuid().ToString();
mm.Body = "EMAILNET-39318 REST API v1.0 - Create Message";
mm.SetProperty(KnownPropertyList.DisplayTo, "to@host.com");
mm.SetProperty(KnownPropertyList.SenderName, "from");
mm.SetProperty(KnownPropertyList.SentRepresentingEmailAddress, "from@host.com");

// Crear mensaje en la carpeta de la bandeja de entrada
MapiMessage createdMessage = client.CreateMessage(Clients.Graph.KnownFolders.Inbox, mm);

Enviar mensajes usando la API de Microsoft Graph en C#

Ahora echemos un vistazo a cómo enviar un mensaje usando Microsoft Graph API en C#.

El siguiente ejemplo de código muestra cómo enviar un mensaje mediante Microsoft Graph API en C#.

// Generar el token de acceso
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Crear un cliente gráfico
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Crear un nuevo mensaje
MapiMessage mm = new MapiMessage();
mm.Subject = "EMAILNET-39318 " + Guid.NewGuid().ToString();
mm.Body = "EMAILNET-39318 REST API v1.0 - Create Message";
mm.SetProperty(KnownPropertyList.DisplayTo, "to@host.com");
mm.SetProperty(KnownPropertyList.SenderName, "from");
mm.SetProperty(KnownPropertyList.SentRepresentingEmailAddress, "from@host.com");

// Enviar mensaje
client.Send(mm);

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar Aspose.Email for .NET sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a usar la API de Microsoft Graph para crear y enviar mensajes en C#. Simplemente puede instalar Aspose.Email e integrar los ejemplos de código provistos en sus aplicaciones .NET. Además, puede echar un vistazo a otras funciones que ofrece Aspose.Email for .NET utilizando la documentación. Además, en caso de que tenga alguna pregunta, puede publicarla en nuestro foro.

Ver también