SMTP_SetPrefs

4D - Documentation   French   English   German   日本語   4D Internet Commandsコマンドテーマリスト   4D Internet Commandsインデックス   戻る   前   次

version 11.2 (Modified)


SMTP_SetPrefs (lineFeed; bodyType; lineLength) 整数

引数タイプ説明
lineFeed整数1 = [デフォルト] 追加, 0 = 追加しない, -1 = 変更しない
bodyType整数Body-Content-Type (1 = [デフォルト] 自動検知,
-1 = 変更しない)
lineLength倍長整数一行の最大長 (0 = [デフォルト] 自動検知,
-1 = 変更しない)
戻り値整数エラーコード

説明

SMTP_SetPrefs コマンドは、SMTPコマンドで送信するメッセージの環境設定を行うために使用します。このコマンドはグローバルスコープを持っていて、コマンド実行後SMTPコマンドで作成されたすべてのSMTPメッセージに影響します。設定可能オプションは、SMTP_QuickSendSMTP_Sendを使用してSMTPサーバに送信されるメールメッセージのフォーマットに影響します。環境設定はインタープロセススコープを持っていて、すべての4Dプロセスに有効です。

SMTPサーバは改行と行送り (CR/LF) のペアを行の終了と認識します。これは改行を行の終端と認識するMacintoshアプリケーションと異なる点です。

lineFeeds は整数値で、メールメッセージの本文の開業をどのように処理するか指示します。0を渡すとメッセージ本文は変更されません。開発者は独自の行送り追加処理を行うことができます。1 (デフォルト設定) を渡すと、すべての改行がCR/LFのペアに置き換えられます。-1は環境設定の現在の設定を保持します。どのオプションを選択すべきか決定できない場合、デフォルト値の1を選択すべきです。

bodyType では、送信するメッセージ本文の文字セットと (Body-Content-Type) 、メッセージ本文に適用するエンコーディング (Content-Transfer-Encoding) を、以下の表に従って指定します。たとえば“US-ASCII & 7 bit” (値 2) はメッセージ本文の文字セットとしてUS ASCIIが使用されており、4DICはそのメッセージを7 bitエンコーディングでエンコードすることを意味します。SMTP_SetPrefs コマンドは指定された文字セットを使用してメッセージ本文を変換しないことに注意してください。この変換は必要に応じてユーザが行います。文字セットの変換を強制させたい場合は SMTP_Charset コマンドの説明を参照してください。

変更しない限りデフォルトの値は1で、SMTPコマンドが自動で適当な設定をメッセージボディの内容から決定します。

-1変更しない
0Application & binary; エンコーディングなし
1デフォルト; メッセージの内容に基づき "US-ASCII & 7bit" または "ISO-8859-1 & quotable-printable" のどちらかを選択します。
2US-ASCII & 7bit
3US-ASCII & quotable-printable
4US-ASCII & base64
5ISO-8859-1 & quotable-printable
6ISO-8859-1 & base64
7ISO-8859-1 & 8bit
8ISO-8859-1 & binary
9Reserved
10ISO-2022-JP (Japanese) & 7 bit
11ISO-2022-KR (Korean) & 7 bit
12ISO-2022-CN (Traditional & Simplified Chinese) & 7 bit
13HZ-GB-2312 (Simplified Chinese) & 7 bit
14Shift_JIS (Japanese) & base64
15UTF-8 & quoted-printable
16UTF-8 & base64

lineLength は、メッセージ本文中の一行あたりの最大文字数を指定します。SMTPコマンドは最大行数に達する前の一番近い単語の切れ目に改行/行送りのペアを挿入します。どんな数値でも指定できますが、80文字以下にすることをお勧めします。-1を指定すると、現在の設定のまま変更されません。

lineLength 引数のデフォルト値は0です。この場合、SMTPコマンドは bodyType に基づき、RFCに定義された推奨値を使用します。lineLength 引数が0の場合、改行は以下の表に基づき行われます:

本文タイプ改行位置
Base6476
Quoted-Printable76
その他改行なし

改行しないメッセージを送信すると問題が発生するシステムがあるため、改行の挿入は強く勧められます。またメッセージの配送経路途中で、メッセージフォーマットを処理できないコンピュータがあると、メッセージが拒否されることがあることも知っておいたほうがよいでしょう。

例題

以下のコードはUTF-8メッセージをquoted printableでエンコードして送信します:

   $err:=SMTP_SetPrefs(-1;15;-1)
   $err:=SMTP_QuickSend(...)

参照

SMTP_Charset, SMTP_GetPrefs.


4D - Documentation   French   English   German   日本語   4D Internet Commandsコマンドテーマリスト   4D Internet Commandsインデックス   戻る   前   次