4D Internet Commands v16IMAP4 コマンド - 概要 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Internet Commands v16
IMAP4 コマンド - 概要
IMAP4 コマンド - 概要
IMAPコマンドを使用してIMAPメールサーバと通信し、メッセージを処理することができます。IMAPコマンドはRFC2060で示されたInternet Message Access Protocol, Version 4 revision 1 (IMAP4rev1) と互換があります。IMAP4 rev1は、メールボックスと呼ばれるリモートのメッセージフォルダを、ローカルのメールボックスと同様に管理できるようにします。 IMAPコマンドを使用してメールボックスの作成、削除名称変更などの操作、新着メッセージのチェック、メッセージの削除、メッセージフラグの設定やクリア、メッセージの検索、選択したメッセージの受信などができます。 "接続"はネットワークの接続開始 (IMAP_Login) から接続終了 (IMAP_Logout) までの、IMAPクライアント/サーバの一連のシーケンスを指します。 "セッション"はメールボックスが選択 (IMAP_SetCurrentMB) されてから、選択終了 (IMAP_SetCurrentMB, IMAP_CloseCurrentMB) または接続の終了 (IMAP_Logout) までの、クライアント/サーバの一連のシーケンスを指します。
IMAP関連のコマンドは二つのセクションIC IMAP メール閲覧とIC ダウンロードしたメールに分けられます。この分離はメールを読み込む異なる方法を表しています。IMAPサーバからメールを読みだす際、メッセージ (またはメッセージに関する情報) は (変数, フィールド, 配列など) 4Dのオブジェクトに格納されるか、ディスクにダウンロードされます。このセクションでは、4D Internet Commandsを使用してIMAPサーバからメッセージを読み込む能力について説明します。 IMAPのメールボックスはフォルダのように操作でき、フォルダがファイルやサブフォルダを含むことができるように、メールボックスもメッセージやサブメールボックスを含むことができます。 IMAPコマンド使用時、よく利用される引数、特にメールボックスメカニズムのmsgNumとuniqueIDについて理解することが重要です。 msgNumは、IMAP_SetCurrentMBコマンドが実行された時のメールボックス中のメッセージ番号です。 カレントメールボックスを選択すると、メールボックス中のメッセージには1からメッセージ数までの番号がふられます。メッセージには受信された順番 に番号がふられ、1がもっとも古いメッセージとなります。メッセージふられた番号は、カレントのメールボックスを選択してから (IMAP_SetCurrentMB) それを閉じるまで (IMAP_CloseCurrentMB, IMAP_SetCurrentMBまたは IMAP_Logout) のみ有効です。 メールボックスが閉じられると、削除のマークが付けられたメッセージは削除されます。 ユーザがIMAPサーバに再ログインすると、メールボックス中のメッセージは再度1から番号付けされます。例えばメールボックスに10のメッセージ があり、1から5までが削除されると、再度メールボックスを開いた際には以前の6から10のメッセージに1から5の番号が付けられます。 例えば以下の例を見てみましょう: IMAPサーバにログインして以下のメッセージリストを取得したとします:
このセッションの間、メッセージ番号3と4が削除されます。カレントのメールボックスを閉じると、実際に削除が実行されます。サーバに再度ログインすると、メッセージリストは以下のようになります:
msgNum はスタティックな値ではなく、セッションごとに異なる可能性があります。メッセージ番号は、メールボックスが選択された時のメッセージの状態で変化します。 ところで、uniqueIDはユニークな値で、IMAPサーバが昇順にメッセージに付加します。メールボックスにメッセージが追加されると、以前に追加されたメッセージより上の値が割り当てられます。 残念なことに、IMAPサーバはメッセージの主たる参照としてuniqueIDを使用しません。IMAPコマンドを使用する際は、メッセージを参照するためにmsgNumを使用する必要があります。データベースにメッセージ参照を格納し、メッセージそのものはサーバに残すようなソリューションを構築する際、開発者はこの点に留意する必要があります。 IMAPは全体として相対的なものであり、独立してテストすることはできないため、"すべてをテストする"ことをお勧めします。アカウントを取得可能なすべてのサーバに対してテストを行うようにしてください。 詳細は以下のサイトをチェックしてください:
Notes:
|
プロパティ
プロダクト: 4D Internet Commands
履歴
ARTICLE USAGE
4D Internet Commands ( 4D Internet Commands v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||