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:
- Usar client.ListMessages() para recuperar uma lista de mensagens.
- Configure um loop for para iterar pelas três primeiras mensagens.
- Dentro do loop, busque cada mensagem usando client.FetchMessage(messages[i].Id).
- Imprimir o assunto e o corpo da mensagem obtida.
- Chame client.DeleteMessage(messages[i].Id, true) para excluir a mensagem e movê‑la para a lixeira.
- 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}");