4D Internet Commands v16

SMTP_SetPrefs

ホーム

 
4D Internet Commands v16
SMTP_SetPrefs

SMTP_SetPrefs 


 

SMTP_SetPrefs ( lineFeed ; charset&Encoding ; lineLength ) -> 戻り値 
引数   説明
lineFeed  整数 in 1 = [デフォルト] 追加, 0 = 追加しない, -1 = 変更しない
charset&Encoding  倍長整数 in メッセージ本文、ヘッダー、および添付ファイル名の文字セット、およびメッセージ本文に適用されるエンコーディング (-1 = 変更しない)
lineLength  倍長整数 in 一行の最大長 (0 = [デフォルト] 自動検知, -1 = 変更しない)
戻り値  整数 in エラーコード

説明   

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

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

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

charset&Encoding は送信するメッセージ本文、ヘッダー、および添付ファイル名で使用される文字セットに加えて、メッセージ本文に適用されるエンコーディングを以下の表の値に応じて指定します。例えば、“US-ASCII & 7 bit” (値2) は、メッセージ本文で現在使用されている文字セットは US ASCII (WindowsとMac両方で共通の標準ASCIIコード(0 -127)のみを含む) であり、4D IC はメッセージ本文を 7 bit エンコーディングを使用してエンコードするということを意味します。SMTP_SetPrefsコマンドは指定された文字セットを使用してメッセージ本文を変換する事はせず、これは必要であればユーザーが管理すべきものであるという点に注意して下さい。文字セットによる変換を行いたい場合には、SMTP_Charsetコマンドの詳細を参照して下さい。
変更しない限り、デフォルトのコンテンツタイプは1です。

本文の文字セット & エンコーディングヘッダーおよび添付ファイル名の文字セット
-1変更しない変更しない
0Application & binary; エンコーディングなしISO-8859-1
1デフォルト: メッセージの内容に基づき "UTF-8" または "base64" のどちらかを選択デフォルト: 題名は "UTF-8"、その他のフィールドは "ISO-8859-1"
2US-ASCII & 7bitISO-8859-1
3US-ASCII & quotable-printableISO-8859-1
4US-ASCII & base64ISO-8859-1
5ISO-8859-1 & quotable-printableISO-8859-1
6ISO-8859-1 & base64ISO-8859-1
7ISO-8859-1 & 8bitISO-8859-1
8ISO-8859-1 & binaryISO-8859-1
9ReservedReserved
10ISO-2022-JP (Japanese) & 7 bitISO-2022-JP
11ISO-2022-KR (Korean) & 7 bitISO-2022-KR
12ISO-2022-CN (Traditional & Simplified Chinese) & 7 bitISO-2022-CN
13HZ-GB-2312 (Simplified Chinese) & 7 bitHZ-GB-2312
14Shift-JIS (Japanese) & base64Shift-JIS
15UTF-8 & quoted-printableUTF-8
16UTF-8 & base64UTF-8

注: 現在使用されるほとんどのシステムおよびアプリケーションで適切である、デフォルト設定の使用を推奨します。

警告: € ("ユーロ")文字はISO-8859-1には含まれません。

lineLength は、メッセージ本文中の一行あたりの最大文字数を指定します。テキストをエンコードする際、SMTPコマンドは最大行数に達する前に改行/行送りのペアを挿入します。どんな数値でも指定できますが、RFC 2822 では998文字以下を要件としており、最大で78文字に止めることを推奨しています。-1を指定すると、現在の設定のまま変更されません。

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

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


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

例題  

以下のコードはUTF-8メッセージと本文をquoted printableでエンコードして送信します(ヘッダーはデフォルトの文字設定のままです):

 $err:=SMTP_SetPrefs(-1;15;-1)
 $err:=SMTP_Charset(0;1) //設定を適用する
 $err:=SMTP_QuickSend("mymail.com";"myaddress";"destination";"the Euro €";"the Euro symbol is €")



参照 

SMTP_Charset
SMTP_GetPrefs

 
プロパティ 

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

 
履歴 

変更: 4D Internet Commands v11.2
変更: 4D v16

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)