SMTP_Body (smtp_ID;メッセージ本文{;削除オプション})→整数
引数 タイプ 説明
smtp̲ID 倍長整数 → メッセージのリファレンス メッセージ本文 テキスト → メッセージの本文
削除オプション 整数 → 0 = 置換
(<メッセージ本文>が空でない場合)、 1 = 置換、2 = 削除
戻り値 整数 ← エラーコード
説明
SMTP_Bodyコマンドは、引数< smtp̲ID >で指定されたメールメッセージの本文に、引 数<メッセージ本文>のテキストを割り当てます。引数<メッセージ本文>は、テキス トの主要ブロックです。
引数< smtp̲ID >は、SMTP_Newコマンドで作成されたメールメッセージを参照するた めの倍長整数です。
引数<メッセージ本文>は、メッセージの本文を含んでいるテキストの値です。引数
<メッセージ本文>の容量は、4D のテキストオブジェクトの制限である 32K に制限され ています。これは、メールメッセージ自体が 32K に制限されているという意味ではあり ません。本文が 32K よりも大きい容量を持つようなメールを送信するためには、引数
<削除オプション>(下記参照)で「付加」のフラグを使用する必要があります。メー ルメッセージの本文の実際の容量の制限は、利用できるメモリに依存します。
警告:通常メッセージ本文は区別的発音符(é,öなど)文字を含むべきではありません。
このような拡張文字を使用したい場合はSMTP_SetPrefsやSMTP_Charsetコマンドの 説明を参照してください。
引数<削除オプション>は、引数<メッセージ本文>のヘッダを置換するか削除するか を指定するオプションの整数値です。値として 0 を指定した場合、<メッセージ本文>
フィールドに新しい値を定義し、それまでの定義に上書きします(<メッセージ本文>
に空の文字列を渡した場合、それまでのヘッダは保たれます)。値として 1 を指定した場 合は、引数<メッセージ本文>フィールドに新しい値を定義し、それまでの定義に上書 きします(<メッセージ本文>に空の文字列を渡した場合、それまでのヘッダは削除さ れます)。値として 2 を指定した場合は、<メッセージ本文>フィールドからテキストを 削除し、<メッセージ本文>のすべてのテキストを無視します。<削除オプション>は オプションの引数で、値が指定されていない場合は、デフォルト値として 0 が設定されま
例題
次は SMTP に関する完全な使用例です。
C_LONGINT($smtp_id) C_BOOLEAN($SentOK;$OK)
$送信OK:=False `すべてのコマンドを通して作成されたことを示すためのフラグ
$error:=AJP mime Encode (v件名$Subect)
$error:=AJP mime Encode ("4Dを介して送信";$comments)
$error:=AJP Nkf ("-j";$Body;$body)
Case of
\(Not(ERRCHECK ("SMTP_New";SMTP_New ($smtp_id))))
\(Not(ERRCHECK ("SMTP_Host";SMTP_Host ($smtp_id;<>pref_Server))))
\(Not(ERRCHECK ("SMTP_From";SMTP_From ($smtp_id;vFrom))))
\(Not(ERRCHECK ("SMTP_To";SMTP_To ($smtp_id;vTo))))
\(Not(ERRCHECK ("SMTP_Cc";SMTP_Cc ($smtp_id;vCC))))
\(Not(ERRCHECK ("SMTP_Bcc";SMTP_Bcc ($smtp_id;vBcc))))
\(Nott(ERRCHECK ("SMTP_Subject";SMTP_Subject ($smtp_id;$subject))))
\(Not(ERRCHECK ("SMTP_Comments";SMTP_Comments ($smtp_id;
$comments))))
\(Not(ERRCHECK ("SMTP_AddHeader";SMTP_AddHeader ($smtp_id;
"x-4D demo";<>version))))
\(Not(ERRCHECK ("SMTP_Body";SMTP_Body ($smtp_id;$body))))
\(Not(ERRCHECK ("SMTP_Send";SMTP_Send ($smtp_id)))) Else
$SentOK:=True `メッセージが構築され、メール送信に成功
End case
If ($smtp_id#0) `メッセージIDが構築された場合、それをここで削除する
$OK:=ERRCHECK ("SMTP_Clear";SMTP_Clear ($smtp_id)) End if
以下に挙げるのは、「ERRCHECK」メソッドのコードです。このメソッドは、2 つの引数 を受け取ります。1 つはコマンドの名称($Command)、もう 1 つは(メソッドの引数内の コマンドを実行することによって渡される)エラーの値です。「ERRCHECK」メソッドは、
エラーの値が 0 であるかどうかに対応するブール値を返します。エラーの値が 0 でない場 合は返り値($0)には False(偽)が返りますが、0 である場合は True(真)が返ります。
C_TEXT($1;$Command;vErrorText;$s;$cr)
$Result:=True
$cr:=Char(13) If ($error#0)
$Result:=False
If (<>SHOWERRORS) `エラー表示するかどうかを決定するブール値 vErrorText:=IT_ErrorText ($error)
$s:="エラー..."+$cr
$s:=$s+"コマンド:"+$Command+$cr
$s:=$s+"エラーコード:"+String($error)+$cr
$s:=$s+"説明:"+vErrorText ALERT($s)
End if End if
$0:=$Result
参照
SMTP_New、AJP Nkf