Crea e invia messaggi utilizzando l'API Microsoft Graph in C#

Microsoft offre Graph API per accedere ai servizi di Office 365 e Microsoft Cloud in modo programmatico dall’interno delle tue applicazioni. Inoltre, puoi utilizzare l’API Graph per gestire cartelle, inviare messaggi ed eseguire varie altre operazioni. In questo articolo imparerai come creare e inviare messaggi usando l’API Microsoft Graph in C#.

API C# .NET Microsoft Graph per creare e inviare messaggi

Aspose.Email for .NET è un’API straordinaria per creare e inviare e-mail dall’interno delle applicazioni .NET. Inoltre, ti consente di utilizzare l’API Microsoft Graph e gestire cartelle, messaggi, ecc. Utilizzeremo questa API per creare e inviare messaggi utilizzando l’API Microsoft Graph. Puoi scaricare la DLL dell’API o installarla da NuGet usando il comando seguente.

PM> Install-Package Aspose.Email

Crea un messaggio utilizzando l’API Microsoft Graph in C#

Per comunicare con l’API Graph, devi prima implementare l’interfaccia ITokenProvider per l’autenticazione delle richieste. Quella che segue è l’implementazione di base di ITokenProvider.

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

    public void Dispose()
    {
    }
    public OAuthToken GetAccessToken(bool ignoreExistingToken)
    {
        // Ottiene il token di accesso oAuth.
        // Se ignoreExistingToken è true, richiede un nuovo token da un server. In caso contrario, il comportamento dipende dall'esistenza o meno del token.
        // Se il token esiste e la sua data di scadenza non è scaduta, restituisce il token corrente, altrimenti richiede un nuovo token da un server.
        return null;
    }
    public OAuthToken GetAccessToken()
    {
        // Ottiene il token di accesso oAuth.
        // Se il token esiste e la sua data di scadenza non è scaduta, restituisce il token corrente, altrimenti richiede un nuovo token da un server.
        return new OAuthToken("token", expirationDate);
    }
}

Di seguito sono riportati i passaggi per creare un messaggio utilizzando l’API Microsoft Graph in C#.

L’esempio di codice seguente mostra come creare un messaggio usando l’API Microsoft Graph in C#.

// Genera il token di accesso
AccessTokenProvider tokenProvider = new AccessTokenProvider();

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

// Crea un nuovo messaggio
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");

// Crea messaggio nella cartella Posta in arrivo
MapiMessage createdMessage = client.CreateMessage(Clients.Graph.KnownFolders.Inbox, mm);

Invia messaggi utilizzando l’API Microsoft Graph in C#

Diamo ora un’occhiata a come inviare un messaggio utilizzando l’API Microsoft Graph in C#.

Nell’esempio di codice seguente viene illustrato come inviare un messaggio utilizzando l’API Microsoft Graph in C#.

// Genera il token di accesso
AccessTokenProvider tokenProvider = new AccessTokenProvider();

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

// Crea un nuovo messaggio
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");

// Invia messaggio
client.Send(mm);

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato a usare l’API Microsoft Graph per creare e inviare messaggi in C#. Puoi semplicemente installare Aspose.Email e integrare gli esempi di codice forniti nelle tue applicazioni .NET. Inoltre, puoi dare un’occhiata ad altre funzionalità offerte da Aspose.Email per .NET usando la documentazione. Inoltre, in caso di domande, puoi postare sul nostro forum.

Guarda anche