ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
SMTP_Body
|
SMTP_Body ( smtp_ID ; msgBody {; option} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
smtp_ID | 倍長整数 |
![]() |
メッセージ参照 | |||||
msgBody | テキスト |
![]() |
メッセージ本文 | |||||
option | 整数 |
![]() |
0 = Replace (if msgBody not empty), 1 = Delete, 2 = Append, 4 = HTML text (plain text by default) | |||||
戻り値 | 整数 |
![]() |
エラーコード | |||||
SMTP_Body コマンドは、smtp_IDで指定されるメッセージのボディ部に、msgBodyのテキストを設定します。
smtp_ID は SMTP_New コマンドで作成されるメッセージ参照です。
msgBody はメッセージのボディを含むテキスト値です。デフォルトでは、メッセージの件名と本文はUTF-8でエンコードされています。これにより、送信された文字はほぼ全てのe-メールクライアントで正常に 解釈されます。特定の文字コードを使用したい場合は、 SMTP_SetPrefs と SMTP_Charset コマンドを参照して下さい。
option は複数のボディの連結や、メッセージのフォーマット(テキストかHTML)を修正するために使用されます:
メッセージをHTMLで送信するのとテキストの中身を置き換えるのとを組み合わせる時は、二つの値を足し合わせて下さい。例えば、この場合は option に 1+4を渡す事でボディの置き換えとHTMLでの送信が可能になります。
SMTPの完全な例題は以下のとおりです:
C_LONGINT($SMTP_ID)
C_BOOLEAN($SentOK;$OK)
$SentOK:=False `すべてのコマンドが実行されたかを検証するフラグ
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))))
:(Not(ERRCHECK("SMTP_Subject";SMTP_Subject($SMTP_ID;vSubject))))
:(Not(ERRCHECK("SMTP_Comments";SMTP_Comments($SMTP_ID;"Sent via 4D"))))
:(Not(ERRCHECK("SMTP_AddHeader";SMTP_AddHeader($SMTP_ID;"X-4Ddemo:";<>VERSION))))
:(Not(ERRCHECK("SMTP_Body";SMTP_Body($SMTP_ID;vMessage))))
:(Not(ERRCHECK("SMTP_Send";SMTP_Send($SMTP_ID))))
Else
$SentOK:=True `メッセージが構築され、メールが送信された
End case
If($SMTP_ID#0) `メッセージが作成されていたら、削除しなければなりません
$OK:=ERRCHECK("SMTP_Clear";SMTP_Clear($SMTP_ID))
End if
Note: この Case of の特別な使用法についてはAppendix A, プログラムTipsを参照してください。
以下はERRCHECKメソッドのコードです。このメソッドは二つの引数をとります。第一引数はコマンド名 ($Command) で、第二引数は引数に渡されたSMTPコマンドが返すエラー値です。このメソッドからはエラー値が0の場合にFalseが、それ以外の場合はTrueが返されます。すなわちSMTPコマンドの実行に成功すれば、エラー値が0なので返り値がFalseとなり、次のCaseテストに進みます。SMTPコマンドの実行に失敗すると返り値がTrueとなるため、その時点でCaseのテストが終了します。
C_TEXT(vErrorMsg)
$Command:=$1
$Error:=$2
$Result:=True
If($Error#0)
$Result:=False
If(<>SHOWERRORS) `エラーメッセージを表示するかしないか
vErrorMsg:=IT_ErrorText($Error)
ALERT("ERROR ---"+Char(13)+"Command: "+$Command+Char(13)+"Error
Code"+String($Error)+Char(13)+"Description"+vErrorMsg)
End if
End if
$0:=$Result
プロダクト: 4D
テーマ: IC メール送信(廃止予定)
番号:
88973
初出: 4D Internet Commands 6.5
変更: 4D Internet Commands v14
変更: 4D Internet Commands v16
4D Internet Commands ( 4D v19)