Trabalhando com mensagens e filtros do Gmail

Introdução ao IGmailClient

Aspose.Email para .NET oferece suporte robusto para interagir com o Gmail através do IGmailClient interface. Você pode gerenciar mensagens e filtros em uma caixa de correio Gmail — incluindo listagem, busca, envio, anexação e exclusão de e‑mails, bem como gerenciar filtros personalizados para classificação automática.

Para usar os recursos do Gmail, você precisa inicializar uma instância IGmailClient usando seu clientId, clientSecret, refreshToken e endereço de e‑mail de destino. Todos os exemplos abaixo assumem essa configuração:

using (IGmailClient client = GmailClient.GetInstance(clientId, clientSecret, refreshToken, email))
{
    // Work with messages or filters
}

Listar mensagens em uma caixa de correio Gmail

Recuperar todas as mensagens da caixa de correio como leves GmailMessageInfo objetos. O exemplo de código a seguir demonstra como recuperar uma lista de mensagens disponíveis em uma caixa de correio Gmail sem carregar o conteúdo completo:

var messages = client.ListMessages();

Buscar e excluir mensagens do Gmail

O exemplo de código abaixo demonstra como ler e excluir mensagens do Gmail usando seus identificadores únicos:

  1. Usar client.ListMessages() para recuperar uma lista de mensagens.
  2. Configure um loop for para iterar pelas três primeiras mensagens.
  3. Dentro do loop, busque cada mensagem usando client.FetchMessage(messages[i].Id).
  4. Imprimir o assunto e o corpo da mensagem obtida.
  5. Chame client.DeleteMessage(messages[i].Id, true) para excluir a mensagem e movê‑la para a lixeira.
  6. Confirmar exclusão com a mensagem.
var messages = client.ListMessages();

for (int i = 0; i < 3; i++)
{
    var msg = client.FetchMessage(messages[i].Id);
    Console.WriteLine($"Message {i + 1}: Subject - {msg.Subject}, Body - {msg.Body}");

    client.DeleteMessage(messages[i].Id, true);
    Console.WriteLine($"Message {i + 1} moved to trash.");
}

Enviar uma mensagem via Gmail

Componha e envie um e‑mail, incluindo anexos, usando o método SendMessage(). O exemplo de código abaixo demonstra como enviar um e‑mail pelo Gmail com um anexo:

MailMessage message = new MailMessage("sender@example.com", "recipient@example.com", "Weekly Report", "Attached is the weekly report.");

string attachmentPath = Path.Combine(TestUtil.GetTestDataPath(), "report.pdf");
message.Attachments.Add(new Attachment(attachmentPath));

string messageId = client.SendMessage(message);
Console.WriteLine($"Message with attachment sent! ID: {messageId}");