IMAP_SetFlags

4D - Documentation   French   English   German   日本語   4D Internet Commandsコマンドテーマリスト   4D Internet Commandsインデックス   戻る   前   次

version 6.8.1


IMAP_SetFlags (imap_ID; startMsg; endMsg; msgFlagsList; deleteOption) 整数

引数タイプ説明
imap_ID倍長整数IMAPログイン参照
startMsg倍長整数開始メッセージ番号
endMsg倍長整数終了メッセージ番号
msgFlagsList文字|テキスト追加または削除するフラグ
deleteOption整数1 = フラグを追加, 0 = フラグを削除
戻り値整数エラーコード

説明

IMAP_SetFlags コマンドはm指定した範囲のメッセージに対して、一度に複数のフラグを設定、あるいは削除できます。

IMAPプロトコルでは、メッセージにフラグを付加することができます。二つのタイプのフラグがあります: permanent および session-only.

Permanentフラグはメッセージフラグから恒久的に追加または削除されます。 (IMAP_SetCurrentMB参照)。言い換えれば、permanentフラグの変更は、セッションをまたいでも有効です。

Sessionフラグへの変更は、そのセッションでのみ有効です。

現在定義されているシステムフラグは:

Seen: メッセージは既読である。

Answered: メッセージは返信済みである。

Flagged: メッセージは緊急/特別な注意が必要。

Deleted: メッセージはIMAP_Delete, IMAP_CloseCurrentMB, IMAP_SetCurrentMB または IMAP_Logout.により削除される。

Draft: メッセージは完成しておらず、下書きである。

Recent: メッセージはこのメールボックスに最近到着した。このセッションがこのメールが到着してから開かれる初めてのセッションである。以降のセッションではこのメッセージに対して\Recentフラグを見ることはない。このpermanentフラグはIMAPサーバにより管理され、IMAP_SetFlagsを使用するなどしてIMAPクライアントから操作することはできない。

IMAPサーバは、クライアントが新しいフラグを定義することを許可することがあります。またIMAPサーバによっては上に示されたフラグ以外のフラグをサポートすることがあります。これはIMAPサーバの実装によります。この場合、これらの特別なフラグは“keywords”と呼ばれ、“\”では始まりません (IMAP_SetCurrentMB参照)。

Note: \Deletedフラグをセットして、IMAP_SetCurrentMB, IMAP_CloseCurrentMB, IMAP_Delete または IMAP_Logoutを使用してカレントのセッションを閉じると、メッセージは恒久的に削除されます。

imap_IDIMAP_Loginで作成されるIMAPログイン参照です。

startMsg は情報を取得するメッセージリストの開始メッセージ番号です。メッセージ番号は現在処理対象のメールボックス中のすべてのメッセージにおける、メッセージの位置を表します。

endMsg は情報を取得するメッセージリストの終了メッセージ番号です。メッセージ番号は現在処理対象のメールボックス中のすべてのメッセージにおける、メッセージの位置を表します。

Note: IMAP_Delete, IMAP_MsgLstInfo, IMAP_MsgLst, IMAP_SetFlags, IMAP_GetFlags そしてIMAP_CopyToMBコマンドは、startMsgendMsgよりも大きい場合でもエラーを返しません。この場合、コマンドは何も行いません。

msgFlagsList には一つ以上のフラグを含みます。複数のフラグを渡す場合、それぞれのフラグはスペースで区切ります。以下の例題を参照してください。

permanentFlagsとしてリストされたフラグのみが適用されます (IMAP_SetCurrentMB参照)。

deleteOption は、msgFlagsList 引数で指定したフラグを追加するか削除するかを指定する整数値です。

・0を指定すると、msgFlagsListで指定されたフラグが取り除かれます。

・1を指定すると、msgFlagsListで指定されたフラグが追加されます。

例題

1. フラグが既に付けられているかいないかにかかわらず、startMsgendMsgで指定したメッセージに、\Answered\Draftフラグを設定します。

   msgFlagsName:="\Answered \Draft"
      ` \Answeredと\Draft はスペースで区切られる (ASCII code)
   IMAP_SetFlags (imap_ID;startMsg;endMsg;msgFlagsName;1)

2. フラグが既に付けられているかいないかにかかわらず、startMsgendMsgで指定したメッセージに、\Deletedフラグを削除します。

   msgFlagsName:="\Deleted"
   IMAP_SetFlags (imap_ID;startMsg;endMsg;msgFlagsName;0)

3. フラグが既に付けられているかいないかにかかわらず、startMsgendMsgで指定したメッセージに、\Deletedフラグを設定します。

   msgFlagsName:="\Deleted"
   IMAP_SetFlags (imap_ID;startMsg;endMsg;msgFlagsName;1)
   IMAP_CloseCurrentMB (imap_ID)
      `カレントのメールボックスを閉じ、メッセージを恒久的に削除します。

4. CheckBoxAnswered チェックボックスの値に基づき、\Answeredフラグを設定します。

   $Error:= IMAP_SetFlags (vImap_ID;$msgNum;$msgNum;"\Answered";Num (CheckBoxAnswered =0))

参照

IMAP_GetFlags, IMAP_SetCurrentMB.


4D - Documentation   French   English   German   日本語   4D Internet Commandsコマンドテーマリスト   4D Internet Commandsインデックス   戻る   前   次