7

Gmail アカウントからメッセージを読むために MailKit を使用しています。よく働く。しかし、既読、未読、重要、スター付きなどのメッセージステータスを取得したいのですが、これはMailKitで可能ですか? 私はそれについて何も見つけられないようです。

これが私のコードです:

 var inbox = client.Inbox;
 var message = inbox.GetMessage(4442);//4442 is the index of a message.

 Console.WriteLine("Message Importance : {0}", message.Importance);
 Console.WriteLine("Message Priority : {0}", message.Priority);

重要度と優先度は常に「通常」を返します。このメッセージが重要としてマークされているかどうかを確認する方法 このメッセージの既読または未読ステータスを取得する方法は?

4

1 に答える 1

10

MimeMessage は解析された未加工の MIME メッセージ ストリームであり、IMAP はメッセージ ストリームにこれらの状態を保存せず、個別に保存するため、メッセージ プロパティはありません。

Fetch()必要な情報を取得するには、次のメソッドを使用する必要があります。

var info = client.Inbox.Fetch (new [] { 4442 }, MessageSummaryItems.Flags | MessageSummaryItems.GMailLabels);
if (info[0].Flags.Value.HasFlag (MessageFlags.Flagged)) {
    // this message is starred
}
if (info[0].Flags.Value.HasFlag (MessageFlags.Draft)) {
    // this is a draft
}
if (info[0].GMailLabels.Contains ("Important")) {
    // the message is Important
}

それが役立つことを願っています。

于 2016-01-09T00:58:34.257 に答える