4D Internet Commands v16

SMTP_Attachment

ホーム

 
4D Internet Commands v16
SMTP_Attachment

SMTP_Attachment 


 

SMTP_Attachment ( smtp_ID ; fileName ; encodeType ; deleteOption {; attachmentID {; contentType}} ) -> 戻り値 
引数   説明
smtp_ID  倍長整数 in メッセージ参照
fileName  テキスト in 添付するファイル名
encodeType  整数 in 0 = エンコードなし (データフォークのみ送信), +-1 = BinHex, +-2 = Base64; (データフォークのみ送信), +-3 = AppleSingle, +-4 = AppleDouble, +-5 = AppleSingle と Base64, +-6 = AppleDouble と Base64, +-7 = UUEncode
deleteOption  整数 in 0 = 既存のリストに追加, 1 = すべての添付をfileNameで置き換え, 2 = この添付を削除
attachmentID  テキスト in 添付のID(HTMLメッセージのみ)
contentType  テキスト in 設定するコンテンツタイプの値
戻り値  整数 in エラーコード

説明   

SMTP_Attachment コマンドは、MIMEフォーマットでテキストやバイナリファイルをメッセージに添付できるようにします。このコマンドは、一つのメールに複数のドキュメントを添付する際には複数回呼ばれます。0より大きな値がencodeType 引数に渡されると、このコマンドはメッセージの送信時にエンコードを実行します。

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

fileName はメッセージに添付するファイルを指定します。この値は以下三種の方法で指定できます:

""= 標準のファイルを開くダイアログを表示する
"FileName"= データベースストラクチャと同階層でファイルを検索する
"Path:FileName"= ファイル名を含む完全なパス名

encodeType は、 メッセージにファイルを含める際に適用するエンコーディングのタイプを指定する整数値です。添付ファイルがバイナリの場合、正しい変換がおこなわれるよう エンコーディングメソッドを適用しなければなりません (BinHex, AppleSingle)。もっとも使用されるエンコーディングはBinHexです。

encodeTypeに正数を渡すと、コマンドはメッセージの送信時に自動でファイルをエンコードします。エンコーディングは SMTP_Send コマンドの実行時に行われます。ファイルのサイズが大きい場合、SMTP_Send コマンドの実行に時間がかかることになります。同じファイルを何度か送信する場合などは、IT_Encode コマンドでエンコーディングを行い、そのエンコード済みのファイルを encodeType に負数を渡して添付すると、時間を節約できます。encodeTypeに負数を渡すと、エンコーディングは行いませんが、メッセージヘッダに添付ファイルに関する正しいエンコーディング情報を設定します。受信者のメールアプリケーションはこの情報を使用して添付ファイルを解析する正しい方法を知ることができます。

Note: 配列要素を encodeType 引数に渡すことはできません。

deleteOption は添付をどのように扱うかを指定するオプションの整数引数です。0を指定すると、現在の添付リストに指定した添付ファイルを追加します。1を指定すると、すべての添付ファイルを添付ファイルfileNameで置き換えます。fileName が空の文字列の場合、すべての添付ファイルが取り除かれます。2を指定すると、添付リストからfileNameのみが取り除かれます。

  • 0を指定すると、現在の添付リストに指定した添付ファイルを追加します。
  • 1を指定すると、すべての添付ファイルを添付ファイルfileNameで置き換えます。fileName が空の文字列の場合、すべての添付ファイルが取り除かれます。
  • 2を指定すると、添付リストからfileNameのみが取り除かれます。

attachmentID 引数はHTML タグ <img src=\"cid:ID\">を使用して、添付ファイルをメッセージボディで定義された参照と関連付けます。これはファイルの中身(例えばピクチャなど)を、e-メールクライアントにおいてメッセージ内に表示することが出来るという事です。
この機能はHTMLでのメッセージにのみ対応しています。また、最終的な表示はe-メールクライアントによって異なる可能性があるという事に留意して下さい。

任意のcontentType 引数は、添付ファイルのコンテンツタイプを明示的に設定します。デフォルトでは、もしこの引数が省略された場合、または空の文字列を含んでいた場合、4DICは添付ファイルのコンテンツタイプを拡張子に基づいて自動的に設定します。その際、以下のルールが適用されます:

拡張子コンテンツタイプ
jpg, jpegimage/jpeg
pngimage/png
gifimage/gif
pdfapplication/pdf
docapplication/msword
xlsapplication/vnd.ms-excel
pptapplication/vnd.ms-powerpoint
zipapplication/zip
gzapplication/gzip
jsonapplication/json
jsapplication/javascript
psapplication/postscript
xmlapplication/xml
htm, htmltext/html
mp3audio/mpeg
otherapplication/octet-stream

contentType 引数には、ファイルのコンテンツタイプ(MIMEタイプ)を定義する文字列を渡す事ができます(例えば"video/mpeg")。このコンテンツタイプの値は添付ファイルに対して、拡張子に関係なく適用されます。

注: この引数を使用したくない場合、attachmentID に空の文字列("")を渡して下さい。

ピクチャを含めたHTMLメッセージを送信する場合:

 $error:=SMTP_New($smtp_id)
 $error:=SMTP_Host($smtp_id;"smtp.gmail.com")
 $error:=SMTP_From($smtp_id;"henry@gmail.com")
 $error:=SMTP_ReplyTo($smtp_id;"replies@gmail.com")
 $error:=SMTP_Subject($smtp_id;"HTML Test  &  picture included")
 $error:=SMTP_To($smtp_id;"john@4d.com";1)
 $error:=SMTP_Body($smtp_id;"<html><B><I>Hello world in bold!</I></B> <img src=\"cid:myID123\">(normal text)</HTML>";4)
 $error:=SMTP_Attachment($smtp_id;"c:\\temp\\tulips.jpg";2;0;"myID123")
 $error:=SMTP_Auth($smtp_id;"henry@gmail.com";"*******")
 $error:=SMTP_Send($smtp_id;1)
 $error:=SMTP_Clear($smtp_id)

以下の設定ファイルをXMLファイルとして宣言した場合を考えます:

 $path:=Get 4D folder(Database folder)+"Settings.mySettings"
 $err:=SMTP_Attachment($smtp_id;$path;2;0;"myID123";"application/xml")



参照 

IT_Encode
SMTP_New
SMTP_Send

 
プロパティ 

プロダクト: 4D Internet Commands
テーマ: IC メール送信
番号: 88972

 
履歴 

初出: 4D Internet Commands 6.5
変更: 4D Internet Commands v14
変更: 4D Internet Commands v14 R4

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)