version 6.5
SMTP_AddHeader (smtp_ID; headerName; headerText{; deleteOption}) --> 整数
引数 | タイプ | 説明 | |
smtp_ID | 倍長整数 | --> | メッセージ参照 |
headerName | 文字列 | --> | ヘッダ名 |
headerText | テキスト | --> | ヘッダテキスト |
deleteOption | 整数 | --> | 0 = 追加 |
1 = すべてのヘッダを'headerName'で置き換え, | |||
2 = 'headerName'ヘッダをすべて取り除く | |||
戻り値 | 整数 | エラーコード |
説明
SMTP_AddHeader コマンドは、smtp_IDで参照されるメッセージに独自のヘッダを追加するために使用します。4D Internet Commandsが提供するさまざまなヘッダ関連のコマンドに加え、二つのカテゴリのヘッダ ('ユーザ定義' と '拡張') があります。SMTP_AddHeader コマンドは両方の種類のヘッダの追加を可能にします。
拡張ヘッダ: これらのヘッダはNICにより公式に認証されていて、オリジナルのSMTP使用の後に定義されました。これらのヘッダはしばしば、さまざまなアプリケーションの動作に影響する特定の機能があります。Extended ヘッダは"X"から始まっていてはなりません。
ユーザ定義ヘッダ: SMTPプロトコルは、独自のヘッダ定義を許可しています。すべてのユーザ定義ヘッダは"X-"から始まるべきで、このルールが守られる限り、将来の拡張ヘッダと衝突する心配はありません。ユーザ定義ヘッダは、通信の両端で開発者がコントロールを行えるようデザインをする際にとても便利です。
ユーザ定義ヘッダを使用して、開発者はデータをメッセージに格納し、MSG_FindHeader コマンドを使用して簡単にそのデータを取り出すことができます。たとえば"X-001001"という名前のヘッダを作成し、テーブル1のフィールド1の値を格納することができます。ユーザ定義ヘッダを使用すれば、情報を追加して、簡単にその情報を取り出すことができます。ボディ部を解析する必要はありません。
smtp_ID はSMTP_New コマンドで作成されるメッセージ参照です。
headerName は追加するヘッダのヘッダ名です。
headerText はheaderNameヘッダに割り当てる情報を含むテキスト値です。
警告: テキストにラインフィード (ascii=10)を含んでいてはいけません。含まれていると、それはヘッダ部の終わりかつボディ部の始まりを意味します。これに続くヘッダはボディ部に押し出され、サーバやクライアントで正しく解釈されません。ヘッダについての詳細はRFC#822を参照してください。
deleteOption はオプションの引数で、カレントのヘッダを追加するか削除するかを指定します。0を指定すると、headerNameをメッセージに追加します。1を指定すると、すべてのヘッダをheaderNameで置き換えます。この場合headerName が空の文字列なら、すべてのヘッダが取り除かれます。2を指定すると、headerNameヘッダを取り除きます。
例題
HTMLメールを送信する場合、HTMLタグをメッセージボディに挿入し (例 <HTML>, <HEAD>, etc.) 、すべての "Content-Type" ヘッダを "text/html;charset=us-ascii" で置き換えます:
If(Substring($body;1;6)="<HTML>") $err:=SMTP_AddHeader($SMTP_ID;"Content-Type:";"text/html;charset=us-ascii";1) End if
参照