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