4D Internet Commands v16

IMAP_SetFlags

ホーム

 
4D Internet Commands v16
IMAP_SetFlags

IMAP_SetFlags 


 

IMAP_SetFlags ( imap_ID ; startMsg ; endMsg ; msgFlagsList ; deleteOption ) -> 戻り値 
引数   説明
imap_ID  倍長整数 in IMAPログイン参照
startMsg  倍長整数 in 開始メッセージ番号
endMsg  倍長整数 in 終了メッセージ番号
msgFlagsList  文字 in 追加または削除するフラグ
deleteOption  整数 in 1 = フラグを追加, 0 = フラグを削除
戻り値  整数 in エラーコード

説明   

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

IMAPプロトコルではメッセージにフラグリストを付加することができます。恒久タイプおよびセッションのみ、二つのタイプのフラグがあります。

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

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

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

  • Seen: メッセージは既読である。
  • Answered: メッセージは返信済みである。
  • Flagged: メッセージは緊急/特別な注意が必要。
  • Deleted: メッセージはIMAP_Delete, IMAP_CloseCurrentMB, IMAP_SetCurrentMB または IMAP_Logoutにより削除される。
  • Draft: メッセージは完成しておらず、下書きである。
  • Recent: メッセージはこのメールボックスに最近到着した。このセッションがこのメールが到着してから開かれる初めてのセッションである。以降のセッションではこのメッセージに対して\Recentフラグを見ることはない。この恒久フラグは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で指定されたフラグが取り除かれます。

startMsgendMsgで指定したメッセージに、\Answered\Draftフラグを設定します:

 msgFlagsName:="\Answered \Draft"
  ` \Answeredと\Draftはスペースで区切る(ASCIIコード)
 IMAP_SetFlags(imap_ID;startMsg;endMsg;msgFlagsName;0)

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

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

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

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

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

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



参照 

IMAP_GetFlags
IMAP_SetCurrentMB

 
プロパティ 

プロダクト: 4D Internet Commands
テーマ: IC IMAP メール閲覧
番号: 88870

 
履歴 

初出: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)