SMTP_Body

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

version 6.5


SMTP_Body (smtp_ID; msgBody{; deleteOption}) --> 整数

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

説明

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

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

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

警告: 通常、メッセージボディに (e, o, 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 

以下は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

参照

SMTP_Charset, SMTP_New, SMTP_SetPrefs.


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