4D Internet Commands v14

SMTP_SetPrefs

ホーム

 
4D Internet Commands v14
SMTP_SetPrefs

SMTP_SetPrefs 


 

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

説明   

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

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

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(...)

 
プロパティ 

プロダクト: 4D Internet Commands
テーマ: IC メール送信
番号: 88994

 
履歴 

変更: 4D Internet Commands v11.2

 
参照 

SMTP_Charset
SMTP_GetPrefs

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v11.4)
4D Internet Commands ( 4D v13.2)
4D Internet Commands ( 4D Internet Commands v12.1)
4D Internet Commands ( 4D Internet Commands v14 R2)
4D Internet Commands ( 4D Internet Commands v14)
4D Internet Commands ( 4D Internet Commands v14 R3)
4D Internet Commands ( 4D Internet Commands v14 R4)