使用 Gmail 消息和过滤器

IGmailClient 入门

Aspose.Email for .NET 提供通过 IGmailClient 接口。您可以在 Gmail 邮箱中管理消息和过滤器 — 包括列出、获取、发送、追加和删除电子邮件,以及管理用于自动分类的自定义过滤器。

要使用 Gmail 功能,需要使用 clientId、clientSecret、refreshToken 和目标电子邮件地址初始化 IGmailClient 实例。以下所有示例均假设已完成此设置:

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

列出 Gmail 邮箱中的消息

以轻量方式检索邮箱中的所有消息 GmailMessageInfo 对象。以下代码示例演示了如何在不加载完整内容的情况下检索 Gmail 邮箱中可用消息的列表:

var messages = client.ListMessages();

获取并删除 Gmail 消息

以下代码示例演示了如何使用唯一标识符读取并删除 Gmail 消息:

  1. 使用 client.ListMessages() 以检索消息列表。
  2. 设置 for 循环以遍历前三条消息。
  3. 在循环中,使用以下方式获取每条消息 client.FetchMessage(messages[i].Id).
  4. 打印获取的消息的主题和正文。
  5. 调用 client.DeleteMessage(messages[i].Id, true) 以删除消息并将其移至垃圾箱。
  6. 使用该消息确认删除。
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.");
}

通过 Gmail 发送消息

使用 SendMessage() 方法撰写并发送电子邮件,包括附件。下面的代码示例演示了如何通过 Gmail 发送带附件的电子邮件:

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}");