4D v13.2

SMTP_Body

ホーム

 
4D v13.2
SMTP_Body

SMTP_Body 


 

SMTP_Body ( smtp_ID ; msgBody ; deleteOption ) -> 戻り値 
引数   説明
smtp_ID  倍長整数 in メッセージ参照
msgBody  テキスト in メッセージ本文
deleteOption  整数 in 0 = 置き換え (msgBodyが空でない場合), 1 = 削除, 2 = 追加
戻り値  整数 in エラーコード

説明   

SMTP_Body コマンドは、smtp_IDで指定されるメッセージのボディ部に、msgBodyのテキストを設定します。

smtp_IDSMTP_New コマンドで作成されるメッセージ参照です。

msgBody はメッセージのボディを含むテキスト値です。msgBodyのサイズは32Kに制限されます。しかしこれはメールメッセージに32Kの制限があるということではありません。32K以上のボディを含むメッセージを送信するには、deleteOption 引数の追加フラグを使用します (下記参照)。実際の制限は利用可能なメモリによります。

警告: 通常、メッセージボディに (é, ö, etc.のような) アクセント文字を含めるべきではありません。これらの文字を使用する際は、SMTP_SetPrefsSMTP_Charset コマンドの説明を参照してください。

deleteOption はボディを置き換えるか削除するか指定する整数値です:

  • 0を指定すると、以前の値を置き換えて、ボディに新しい値を設定します。(空の文字列をmsgBodyに指定すると、以前のボディが保持されます。)
  • 1を指定すると、以前の値を置き換えて、ボディに新しい値を設定します。(空の文字列をmsgBodyに指定すると、ボディが削除されます。)
  • 2を指定すると、SMTP_Bodyによりボディに設定されていた値に、テキストが追加されます。
deleteOption はオプションの引数で、指定しない場合の値はデフォルトで0です。

例題  

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

 
参照 

SMTP_Charset
SMTP_New
SMTP_SetPrefs