version 6.8.1
IMAP_CopyToMB (imap_ID; startMsg; endMsg; mbNameTarget{; msgDelete}) --> 整数
引数 | Type | 説明 | |
imap_ID | 倍長整数 | --> | IMAPログイン参照 |
startMsg | 倍長整数 | --> | 開始メッセージ番号 |
endMsg | 倍長整数 | --> | 終了メッセージ番号 |
mbNameTarget | テキスト | --> | コピー先メールボックス名 |
msgDelete | 整数 | --> | 0= 元のメールボックスからメッセージを削除しない, |
1= 元のメールボックスからメッセージを削除する | |||
戻り値 | 整数 | エラーコード |
説明
IMAP_CopyToMB コマンドはstartMsgからendMsgまでのメッセージを、mbNameTarget で指定したメールボックスの最後にコピーします。メッセージのフラグと内部日付は通常保持されます (IMAPサーバの実装による)。
コピーされた後、メッセージは元のメールボックスから削除されません。コピー元のメッセージを削除したい場合、以下の方法のいずれかを使用できます:
・IMAP_Delete コマンドを使用する
・msgDelete オプション引数に1を指定する
・IMAP_SetFlags (\Deleted)を使用する: メッセージはセッションが閉じられたときに削除されます。
Note: msgDelete 引数はIMAP_Deleteを実行します; ゆえに削除対象にはstartMsgとendMsgの間のメッセージおよび\Deletedフラグが設定されたメッセージが含まれます。
コピー先メールボックスが存在しない場合、エラーが返されます。
imap_ID はIMAP_Loginで作成されるIMAPログイン参照です。
startMsg はコピーするメッセージの開始位置を示すメッセージ番号です。メッセージ番号はimap_IDで参照されるメールボックスのすべてのメッセージリスト中のメッセージの位置を示す番号です。
endMsg はコピーするメッセージの終了位置を示すメッセージ番号です。メッセージ番号はimap_IDで参照されるメールボックスのすべてのメッセージリスト中のメッセージの位置を示す番号です。
Note: IMAP_Delete, IMAP_MsgLstInfo, IMAP_MsgLst, IMAP_SetFlags, IMAP_GetFlags そしてIMAP_CopyToMBコマンドは、startMsgがendMsgよりも大きい場合でもエラーを返しません。この場合、コマンドは何も行いません。
mbNameTarget はメッセージのコピー先を指定するメールボックス名です。
msgDelete オプション引数を使用して、コピー元メールボックスからメッセージを削除するか指定できます。
? 0= 削除しない (デフォルト)
? 1= 削除する
msgDeleteが省略された場合、デフォルト値が使用されます。
コピーに失敗すると、コピー元のメールボックスからメッセージは削除されません。
メッセージを削除する権限がユーザにない場合、エラーメッセージが生成されます。
参照
IMAP_CreateMB, IMAP_ListMBs, IMAP_RenameMB.