Simple Mail Transfer Protocol (SMTP) はインターネットで使用されるメール標準です。4D Internet Commandsを使用して、一つのコマンドで単純なメッセージを構築したり、一連のコマンドを使用して複雑なメッセージを構築したりできます。SMTP コマンドにより、Reply-To、Sender、Attachment、Comment、Referencesなどメッセージのすべての部分をコントロールできます。
4Dと4D Internet Commandsを使用して、インターネットにメッセージや添付ファイルを送信するとてもパワフルなデータベースを作成できます。SMTPコマンドを使用してデータベースを拡張できる例としては以下のようなものがあります:
- 4Dで作成されたレポートやドキュメントを自動送信する。
- データベースの特殊状況 (エラーなど) を開発者に通知する。
- メーリングリストへのメール送信。
SMTPコマンドの利用シーンは無限です。これらのコマンドと、POP3 (メッセージや添付ファイルの取得)、FTP、TCPなどを使用すれば、4D開発者はデータベースの通信機能を劇的に拡張できます。
SMTPコマンドでは、メールを送信する単純な方法と複合的な方法、二つの方法が提供されます。単純な方法はSMTP_QuickSendコマンドを使用して行われ、必要なすべての引数を一つのコマンドに渡します。
送信するメッセージの構造はほとんどの場合極めて単純です。"ここの"誰かが、とある"題材"について、"どこかの"誰かに、なんらかの"メッセージ"を送信するということです。これが紙の場合、あなたはそれを書き留め、封筒に入れたら住所を書いて郵便局に持っていきます。 SMTP_QuickSendでは、これら"From"、"To"、"Subject"そして"Message Body"要素を一つのコマンドに渡すだけでメールが送信されます。
しかしすべてのメールがこのように簡単に構築できるわけではありません。たとえば他のグループにメールのコピーを送信しなければならない場合や、年次レポートを添付して送らなければならない場合があります。4D Internet CommandsのSMTPコマンドでは、メールのすべての要素をあなたがコントロールできます。複数の添付や、CC、BCCなどすべてのメールヘッダを SMTPコマンドで処理することができます。
SMTPコマンドを理解する上で理解すべき最も重要なことは、メールが受信者に配信される方法に関連することです。SMTPコマンドは受信者に直接メール を配信しません。コマンドはメールを正しい形に構築し、そののちに
SMTP_Hostコマンドで指定されたSMTPサーバーにメールを送信します。SMTP サーバーはしばしば組織自身の所有であるか、またはインターネットサービスプロバイダーによって運営されています。SMTPサーバーは最適化されたメールの配送経路 を解決し、管理者により指定されたスケジュールでメールを転送します。
SMTPコマンドで正しくメールを送信するためには、いくつかのコマンドを必ず使用してメールを定義しなければなりません。以下メール送信時に必ず使用しなければならないコマンドを示します:
- SMTP_New
メモリ上に新しいメッセージのためのスペースを確保し、続くコマンドで使用するための参照を返します。
上にあげたコマンドのみを使用した場合、メッセージは件名と本文なしで送信されます。もちろんこれで用をなすわけではありません。有用なメッセージにするためには追加の情報を指定する必要があります。
4D v14以降、 "subject" と "body"フィールドのSMTP コマンドはデフォルトでUTF-8文字コードを使用するようになりました。この文字コードはほぼ全てのeメールクライアントで正しく読み込まれます。この新機能により、SMTPコマンドの使用が簡単になり、 SMTP_Charset や SMTP_SetPrefs と言ったコマンドを使用しなくてもよくなります。