4D Internet Commands v16

SMTP_QuickSend

ホーム

 
4D Internet Commands v16
SMTP_QuickSend

SMTP_QuickSend 


 

SMTP_QuickSend ( hostName ; msgFrom ; msgTo ; subject ; message {; sessionParam}{; port}{; userName ; password} ) -> 戻り値 
引数   説明
hostName  文字 in ホスト名またはIPアドレス
msgFrom  テキスト in 送信元MailAddress または AddressList
msgTo  テキスト in 送信先MailAddress または AddressList
subject  テキスト in 件名(デフォルトではUTF-8)
message  テキスト in メッセージ本文(デフォルトではUTF-8)
sessionParam  倍長整数 in 0または省略 = SSLを使用しない(スイッチオーバーは許可)、1 = SSLを使用、2 = SSLを決して使用しない(スイッチオーバーを許可しない)、4 = SSLを使用せずにHTMLテキストを送信、5 = SSLを使用してHTMLを送信、8 = SSL/TLSを使用せずにMime HTMLテキストを送信、9 = SSL/TLSを使用してMime HTMLテキストを送信
port  倍長整数 in 使用するポート番号
userName  テキスト in 認証に使用するユーザー名
password  テキスト in 認証に使用するパスワード
戻り値  整数 in エラーコード

説明   

SMTP_QuickSend  コマンドは、一つのコマンドでメールの構築と送信を可能にします。メッセージに対する詳細なコントロールが必要な場合、またはメッセージが複雑な性質をし ているときには、 SMTP_New コマンドをはじめとするSMTP関連のコマンドを使用します。

注: このコマンドは"ASCIIモード"で動作している変換されたデータベースにおいては使用できません。

hostName はSMTPサーバのホスト名またはIPアドレスで、配送するメッセージを中継するサーバです。

msgFrom は、メールの送信人を表す一つ以上の完全なMailAddress または AddressListです。Fromヘッダに書かれたすべてのアドレスは メッセージの受信者から閲覧可能です。

msgTo は、一つ以上の完全なAddressListを含みます。msgTo ヘッダに記載されたAddressListにそれぞれメッセージが送信されます。それぞれの受信者は、他の受信者のアドレスを見ることができます。

subject にはメールの件名を渡します。

注: デフォルトでは、メッセージの件名と本文はUTF-8でエンコードされています。これにより、送信された文字はほぼ全てのe-メールクライアントで正常に解釈されます。特定の文字コードを使用したい場合は、SMTP_SetPrefsSMTP_Charset コマンドを参照して下さい。

messageはメールメッセージのボディテキストを渡します。

オプションのsessionParam引数を使用すると、メッセージフォーマット(標準テキスト、HTML、またはMime HTML)や接続に使用するSSLプロトコルのアクティベーションモードを設定できます:

  • 0を渡すかこの引数を省略すると、メッセージはテキストとしてフォーマットされ、送信は標準の非保護モードで行われます。認証後にサーバーからSSL/TLSへの更新を要求された場合、スイッチは自動で行われます (explicitモードのSSL/TLS)。
  • 1を渡すと、メッセージはテキストとしてフォーマットされ、送信はSSLで行われます (同期モード)、
  • 2を渡すと、メッセージはテキストとしてフォーマットされ、送信は標準の非保護モードで行われます。SSL/TLSへの更新は行われません。
  • 4を渡すと、メッセージはHTMLとしてフォーマットされ、標準モードで送信されます。
  • 5を渡すと、メッセージはHTMLとしてフォーマットされ、送信はSSL/TLSで行われます。
  • 8を渡すと、メッセージはMime HTMLとしてフォーマットされ、標準モードで送信されます。
  • 9を渡すと、メッセージはMime HTMLとしてフォーマットされ、送信はSSL/TLSで行われます。
    注: Mime HTML (.mht または .mhtml ファイル拡張子)とは、HTMLコードに加え、画像などの外部リソースも単一のドキュメントへと統合する事の出来るWebページアーカイブフォーマットのことです。複数のブラウザに加え、例えばMS Word 等でもサポートされています。このフォーマットは4D Write Proエリアでサポートされているため、4D Write Proエリアをリソース含めて保存し、メールで送信する、というのが簡単にできるようになります。

この値は通常の組み合わせにも対応しますが、sessionParam 引数は実際はbit フィールドであり、ビットワイズ演算子を使用した際にはどのようなカスタムの組み合わせも使用できるという点に注して下さい:

Bit 番号bit が 1の場合使用されるフォーマット
0SSLまたはデフォルトの仕様を使い、クリアにコネクトします。可能であればSSLへとアップグレードします。
1決してアップグレードしません。非暗号化モードにとどまり、可能な場合でもアップグレードしません。SSL(bit-0)が選択されていた場合にはBitは無視されます。
2Message 本文はHTMLとなり、ヘッダーはそれに報じて設定されます。
3MHTML メッセージ。bit-2(HTML)は無視されます。ユーザーは責任をもって"To"、"From"、"Date"、そして "Subject"以外の全てを設定する必要があります。
任意の port 引数はサーバーに接続する際に使用するSMTPポート番号を指定します。もっともよく使用される値は以下の通りです:
  • 25 = 標準の非保護SMTPポート(引数が省略された際のデフォルトのポート)
  • 465 = SMTPS (SSL/TLS) ポート
  • 587 = 標準の(保護された) SMTP ポート。MS Exchane サーバーに接続する際にはこのポートを指定して下さい(explicit モード)。

任意のuserNamepassword 引数はメールサーバーにて送信者を認証するために使用されます。これらの引数は一緒に渡す必要があります。この際には、サーバーでサポートされている最も安全な認証モードが(SMTP_Auth コマンドのデフォルトのモードとともに)使用されます。

以下はこのコマンドの使用例です:

 $Host:="www.4d.com"
 $ToAddress:="adupont@4d.fr"
 $FromAddress:="jsmith@4d.com"
 $Subject:="Sales Report"
 $Message:="Can you send me the sales report for January 2000? Thanks."
 $Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;1)
 If($Error#0)
    ALERT("Error: SMTP_QuickSend"+Char(13)+IT_ErrorText($Error))
 End If

MS Exchange serverにセキュアモードでメールを送信する例題:

 $ServerName:="exchange.4d.com"
 $MsgTo:="adupont@gmail.com"
 $MsgFrom:="a.user@4d.com"
 $Subject:="Test message"
 $Message:="This is a test for sending a message in secure mode. Please do not reply."
 $Error:=SMTP_QuickSend($ServerName;$MsgFrom;$MsgTo;$Subject;$Message;0;587;"a.user";"@!password@!")

メッセージをHTMLフォーマットで、SSL/TLS モードを使用して送ります:

 $Host:="smtp.gmail.com"
 $ToAddress:="john@4d.com"
 $FromAddress:="harry@gmail.com"
 $Subject:="Message HTML"
 $Message:="Let’s meet at <b>Joe’s Coffee Shop</b>!"
 $Param:=5 //HTML フォーマットで SSL モード
 $Port:=465 //gmail の SSLポート
 $User:="harry@gmail.com"
 $Password:="xyz&@!&@"
 $Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;$Param;$Port;$User;$Password)

.mhtドキュメントをディスク上に保存し、それをEメールで送信したい場合を考えます。この場合、以下の様に書くことができます:

 $Message:=Document to text("c:\\documents\\invitation.mht")
 $Host:="smtp.gmail.com"
 $ToAddress:="john@4d.com"
 $FromAddress:="harry@gmail.com"
 $Subject:="Let's party"
 $Param:=9 //MHTML with SSL
 $Port:=465 //gmailのSSL ポート
 $User:="harry@gmail.com"
 $Password:="xyz&@!&@"
 $Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;$Param;$Port;$User;$Password)



参照 

SMTP_Charset
SMTP_New
SMTP_SetPrefs

 
プロパティ 

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

 
履歴 

New
変更: 4D Internet Commands v11
変更: 4D Internet Commands v12.1
変更: 4D v13.2
変更: 4D Internet Commands v14
変更: 4D Internet Commands v14 R5
変更: 4D Internet Commands v16

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)