Gmail メッセージとフィルタの操作

IGmailClient の開始方法

Aspose.Email for .NET は、Gmail と連携するための強力なサポートを提供します。 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. 最初の 3 件のメッセージを反復処理する 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}");