SMTP_Charset

4D - Documentation   Fran溝is   English   German   日本語   4D Internet Commandsテーマリスト   4D Internet Commandsインデックス   Back   Previous   Next

version 6.8.1 (Modified)


SMTP_Charset (encodeHeaders; bodyCharset) --> 整数

引数タイプ説明
encodeHeaders整数-->-1 = 現在の設定を使用, 0 = 管理しない,
1 = ISO-8859-1またはISO-2022-JPの場合、指定された
文字セットを使用して変換、拡張文字をエンコード
bodyCharset整数-->-1 = 現在の設定を使用, 0 = 管理しない,
1= ISO-8859-1またはISO-2022-JPの場合、指定された
文字セットを使用して変換
戻り値整数エラーコード

説明

SMTP_Charset コマンドは、SMTP_QuickSendSMTP_Send コマンドでメッセージを送信する際に、拡張文字を含むメッセージをサポートするために自動で変換処理が行われるよう設定します。このコマンドが呼び出されないか引数に0が渡されると、バージョン 6.7以降の4D Internet Commandsはバージョン6.5.xと同様に動作します。

SMTP_Charset コマンドは、まずメッセージヘッダとボディの変換にSMTP_SetPrefsbodyType 引数を適用するかを指定し、次に拡張文字を含むヘッダをRFC#1342で定義された“=?ISO-8859-1?Q?Test=E9?= …”のシンタックスでエンコードするかを指定します。このコマンドはインタープロセススコープを持っていて、このコマンド実行後はすべての4Dプロセスで SMTP_QuickSend and SMTP_Sendを使用して送信されるメッセージに影響します。

このコマンドは件名やメールアドレスに拡張文字が含まれる場合に有効です (たとえば“=?ISO-8859-1?Q?Test=E9?= <test@n.net >”のようなアドレスのエンコーディング)。

メッセージヘッダにより (件名ヘッダを除き常にBase64に設定され、SMTP_SetPrefsbodyType 引数値に基づく)、エンコーディングは以下のように管理されます:

・Subject, Comment (“非構造化ヘッダ”): 拡張文字を含む場合、文字列全体がエンコードされる。

・From, To, CC, Bcc, Sender, ReplyTo, InReplyTo (“構造化ヘッダ”):

- 山括弧 (“<”, “>”) に挟まれたテキストはメールアドレスとして認識され、エンコードされません。
- SPC < > ( ) @ , ; : " / ? . = などの特別文字や区切り文字はエンコードされません。
- 特別文字や区切り文字に挟まれた文字列は、拡張文字が含まれていればエンコードされます。

アドレスの例:

- someone@somewhereはエンコードされません
- Michele <michele@somewhere>, Micheleのみエンコードされます

encodeHeadersは、メッセージ送信時のヘッダの変換処理の方法とエンコーディングを指定する引数です。デフォルト値は0です。

・-1:現在の設定を使用
・0:管理しない
・1:- SMTP_SetPrefsのbodyType 引数が文字コードISO-8859-1またはISO-2022-JPに
設定されている場合、ヘッダはその文字セットを使用して変換されます。
- そうでない場合、指定されている文字セットにかかわらず、ヘッダに
拡張文字が含まれていれば、以下のシンタックスで変換されます (RFC#1342参照) :
“=?SMTP_SetPrefs コマンドで指定された文字セット? Base64 Encoding?Test=E9?= …”
- 例外: Subjectヘッダは必要に応じて、SMTP_SetPrefs コマンドのbodyType に指定されたエンコード方法でエンコードされます。

Note: “X_…”で始まる拡張ヘッダはUS ASCIIのみで記述しなければなりません。

bodyCharsetは、メッセージ送信時にメッセージボディの変換に使用する文字セットを指定する引数です。デフォルト値は0です。

・-1: 現在の設定を使用

・0: 管理しない

・1: SMTP_SetPrefsbodyType 引数が文字コードISO-8859-1またはISO-2022-JPに設定されている場合、メッセージボディはその文字セットを使用して変換されます。

例題

この例題では、件名とボディがISO-8859-1文字セットを使用して変換され、件名はRFC 1342シンタックスでエンコードされます:

   SMTP_SetPrefs(1;1;0)
   $err:=SMTP_Charset(1;1)
   $err:=SMTP_QuickSend("mymail.com";"myaddress";"destination";"the euro ?";"the euro symbol is ?") 

参照

POP3_Charset, SMTP_SetPrefs.


4D - Documentation   Fran溝is   English   German   日本語   4D Internet Commandsテーマリスト   4D Internet Commandsインデックス   Back   Previous   Next