メール受信 - 概要

4D - Documentation   Fran溝is   English   German   日本語   4D Internet Commandsテーマリスト   4D Internet Commandsインデックス   Back   Previous   Next

version 2003 (Modified)


一連のPOP3コマンドを使用して、POP3メールサーバからメールの受信が可能になります。4D Internet CommandsはMIME互換であり、複数のパートからなるメッセージを認識および展開できます。

POP3関連のコマンドは二つのセクション"IC POP3 メール閲覧"と"IC ダウンロード済みメール"に分けられます。この分離はメールを読み込む異なる方法を表しています。POP3サーバからメールを読みだす際、メッセージ (またはメッセージに関する情報) は (変数, フィールド, 配列など) 4Dのオブジェクトに格納されるか、ディスクにダウンロードされます。この"IC POP3 メール閲覧"セクションでは、4D Internet Commandsを使用してPOP3サーバから4Dオブジェクトにメッセージを読み込むコマンドを説明します。

メッセージの受信に二つの方法が用意されている理由は、何メガバイトもあるメッセージをダウンロードするかもしれない場合のメモリの制限のためです。例えば、5MBの添付ファイルがあるメッセージは、容易にデータベースの格納容量をオーバーフローさせます。4Dオブジェクトでこのサイズを格納できるのはピクチャやBlobです。しかしメッセージや添付ファイルをこれらのオブジェクトに変換するのは、大きなメモリ空間が必要なため、効率的ではありません。これを解決するために、このセクションにはPOP3_Downloadコマンドが用意され、POP3サーバからメッセージをローカルディスクにダウンロードできるようになっています。ディスクに保存された後は、"IC ダウンロード済みメール"セクションのコマンドを使用して、ファイルを操作できます。

一連のPOP3コマンドを使用する際、よく使用される引数、特にmsgNumberuniqueIDについて理解することが重要です。msgNumberは、POP3_Loginが実行された際のメールボックス内のメッセージ数です。ログイン時に、メールボックス内のメッセージには1からメッセージ数までの数値が割り当てられます。番号はメールボックスに届いた順に付けられ、1がもっとも古いメッセージとなります。この番号はPOP3_LoginからPOP3_Logoutまでの間のみ有効です。

POP3_Logoutが実行された時、削除マークが付けられたメッセージは削除されます。ユーザが再度サーバにログインすると、現在メールボックスにあるメッセージに再び番号が割り当てられます。例えば、メールボックスに10のメッセージがあり、1から5までのメッセージが削除されると、次回のログイン時には6から10番目のメッセージが1から5に番号付けされます。

POP3サーバにログインして、以下のメッセージリストを所得したとします。

#UniqueID日付送信者件名
1bd573a4dbd573a4d1 Jul 1998 …jimw@acme.comSales lead…
2bd574dc7bd574dc71 Jul 1998 …frank@acme.comSite-License order
3bd575f06bd575f063 Jul 1998 …joe@acme.comLunch anyone?
4bd5761d4bd5761d44 Jul 1998 …kelly@acme.comYour wife called…
5bd577dc7db577dc54 Jul 1995 …track@fedex.comFedEx tracking

セッション中メッセージ3と4を削除します。セッションをログアウトすると、リクエスト済みの削除が実行されます。再度ログインするとメッセージリストは以下のようになります。

#UniqueID日付送信者件名
1bd573a4dbd573a4d1 Jul 1998 …jimw@acme.comSales lead…
2bd574dc7bd574dc71 Jul 1998 …frank@acme.comSite-License order
3bd577dc7db577dc54 Jul 1995 …track@fedex.comFedEx tracking

msgNumberはスタティックな値ではなく、セッションが開かれた時のメールボックス中のメッセージに基づいて割り当てられます。ところで、uniqueIDはユニークな値で、サーバがメッセージを受信した際に割り当てられます。このIDはPOP3サーバが、メッセージを受信したときの日付や時間に基づいて計算し、割り当てます。残念ながらPOP3サーバはuniqueIDをメッセージの主たる参照としては扱いません。POP3コマンドを通じて、サーバのメッセージを参照するためにはmsgNumberを使用します。データベースにメッセージ参照を格納し、メッセージはサーバに残すようなソリューションを構築する際、開発者はこの点に留意する必要があります。

Note: 4D Internet commandsではPOP3, IMAP, FTP接続参照を直接低レベルTCPコマンドに渡すことができ、またその逆も可能です。詳細は 低レベルルーチン - 概要 セクションを参照してください。


4D - Documentation   Fran溝is   English   German   日本語   4D Internet Commandsテーマリスト   4D Internet Commandsインデックス   Back   Previous   Next