Criar e enviar mensagens usando a API do Microsoft Graph em C#

A Microsoft oferece Graph API para acessar os serviços do Office 365 e Microsoft Cloud programaticamente de dentro de seus aplicativos. Além disso, você pode usar a Graph API para gerenciar pastas, enviar mensagens e realizar várias outras operações. Neste artigo, você aprenderá como criar e enviar mensagens usando a API do Microsoft Graph em C#.

C# .NET Microsoft Graph API para criar e enviar mensagens

Aspose.Email for .NET é uma API incrível para criar e enviar e-mails de dentro de aplicativos .NET. Além disso, permite que você use a API do Microsoft Graph e gerencie pastas, mensagens, etc. Usaremos essa API para criar e enviar mensagens usando a API do Microsoft Graph. Você pode baixar a DLL da API ou instalá-la de NuGet usando o seguinte comando.

PM> Install-Package Aspose.Email

Criar uma mensagem usando a API do Microsoft Graph em C#

Para se comunicar com a Graph API, você precisa primeiro implementar a interface ITokenProvider para autenticar as solicitações. Veja a seguir a implementação básica de ITokenProvider.

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

    public void Dispose()
    {
    }
    public OAuthToken GetAccessToken(bool ignoreExistingToken)
    {
        // Obtém o token de acesso oAuth.
        // Se ignoreExistingToken for true, solicita um novo token de um servidor. Caso contrário, o comportamento depende se o token existe ou não.
        // Se o token existir e sua data de expiração não tiver expirado, retornará o token atual, caso contrário, solicitará um novo token de um servidor.
        return null;
    }
    public OAuthToken GetAccessToken()
    {
        // Obtém o token de acesso oAuth.
        // Se o token existir e sua data de expiração não tiver expirado, retornará o token atual, caso contrário, solicitará um novo token de um servidor.
        return new OAuthToken("token", expirationDate);
    }
}

A seguir estão as etapas para criar uma mensagem usando a API do Microsoft Graph em C#.

O exemplo de código a seguir mostra como criar uma mensagem usando a API do Microsoft Graph em C#.

// Gerar o token de acesso
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Criar um cliente de gráfico
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Criar uma nova mensagem
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");

// Criar mensagem na pasta da caixa de entrada
MapiMessage createdMessage = client.CreateMessage(Clients.Graph.KnownFolders.Inbox, mm);

Enviar mensagens usando a API do Microsoft Graph em C#

Vamos agora dar uma olhada em como enviar uma mensagem usando a API do Microsoft Graph em C#.

O exemplo de código a seguir mostra como enviar uma mensagem usando a API do Microsoft Graph em C#.

// Gerar o token de acesso
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Criar um cliente de gráfico
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Criar uma nova mensagem
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 mensagem
client.Send(mm);

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Email para .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como usar a API do Microsoft Graph para criar e enviar mensagens em C#. Você pode simplesmente instalar o Aspose.Email e integrar os exemplos de código fornecidos em seus aplicativos .NET. Além disso, você pode dar uma olhada em outros recursos oferecidos pelo Aspose.Email para .NET usando a documentação. Além disso, caso você tenha alguma dúvida, você pode postar em nosso fórum.

Veja também