SMTPTransporter
SMTPTransporter クラスを使って、SMTP接続の設定や、SMTP transporter オブジェクトを介したメールの送信をおこなうことができます。
SMTP Transporter オブジェクト
SMTP Transporter オブジェクトは SMTP New transporter コマンドによってインスタンス化されます。 これらは、次のプロパティや関数を持ちます:
4D.SMTPTransporter.new()
4D.SMTPTransporter.new*( server : Object ) : 4D.SMTPTransporter
| 引数 | 型 | 説明 | |
|---|---|---|---|
| server | Object | -> | メールサーバー情報 | 
| 戻り値 | 4D.SMTPTransporter | <- | SMTP transporter object | 
説明
4D.SMTPTransporter.new() 関数は、 新規の 4D.SMTPTransporter型オブジェクトを作成して返します。 この関数の機能は、SMTP New transporter コマンドと同一です。
SMTPステータスコードについての詳細は こちらのページ を参照ください。
例題
 var $pw : Text
 var $options : Object
 var $transporter : 4D.SMTPTransporter
 $options:=New object
 $pw:=Request("パスワードを入力してください:")
 $options.host:="smtp.gmail.com"
 $options.user:="test@gmail.com"
 $options.password:=$pw
 $transporter:=SMTP New transporter($options)
 $status:=$transporter.checkConnection()
 If($status.success=True)
    ALERT("SMTP接続チェックに成功しました。")
 Else
    ALERT("エラー # "+String($status.status)+", "+$status.statusText)
 End if
.keepAlive
履歴
| リリース | 内容 | 
|---|---|
| 17 R4 | 追加 | 
.keepAlive* : Boolean
説明
.keepAlive プロパティは、transporter オブジェクトが抹消されるまで、SMTP接続が維持されなければならない場合に true、それ以外は false を格納します。 SMTP New transporter コマンドで transporter オブジェクトを作成する際に使用する server オブジェクトにおいて、 keepAlive プロパティが指定されなかった場合のデフォルトは true です。
SMTP接続は、以下の場合に自動的に閉じられます:
- .keepAliveプロパティが true (デフォルト) の場合には、- transporterオブジェクトが消去された時。
- .keepAliveプロパティが false の場合には、各- .send( )関数が実行された後。
.send()
履歴
| リリース | 内容 | 
|---|---|
| 17 R5 | MIMEコンテンツをサポート | 
| 17 R4 | 追加 | 
.send*( mail : Object ) : Object
| 引数 | 型 | 説明 | |
|---|---|---|---|
| Object | -> | 送信する メール | |
| 戻り値 | Object | <- | SMTP ステータス | 
説明
.send() 関数は、mail オブジェクト 引数が指定するメールメッセージを、transporter オブジェクトが定義する SMTPサーバーへと送信し、ステータスオブジェクトを返します。
transporterオブジェクトは、事前にSMTP New transporterコマンドによって作成されている必要があります。
この関数は、SMTP接続が事前に開かれていなかった場合には、それを作成します。 transporter オブジェクトの .keepAlive プロパティが false であった場合、SMTP接続は .send() 実行後に自動的に閉じられます。それ以外の場合には、接続は transporter オブジェクトが消去されるまで開いたままになります。 詳細については、SMTP New transporter コマンドの説明を参照してください。
mailには、送信する有効な Email オブジェクト を渡します。 メールには送信元 (メールがどこから送られるか) と送信先 (一名以上の受信者) プロパティが含まれている必要がありますが、その他のプロパティは任意です。
返されるオブジェクト
この関数は、SMTP ステータスを表すオブジェクトを返します。 このオブジェクトには、次のプロパティが格納されることがあります:
| プロパティ | 型 | 説明 | 
|---|---|---|
| success | boolean | 送信に成功した場合は true、それ以外は false | 
| status | number | SMTPサーバーから返されたコード (メール処理に関係ない問題の場合には 0) | 
| statusText | text | SMTPから返されるステータスメッセージ | 
SMTP 処理とは関係のない問題 (例: 必須プロパティがメールにない) が発生した場合、4D はエラーを生成します。 これは、ON ERR CALL コマンドでインストールしたメソッドでインターセプトできます。 エラー情報を取得するには、Last errors コマンドを使用します。
この場合、結果のステータスオブジェクトには以下の値が含まれます:
| プロパティ | 値 | 
|---|---|
| success | false | 
| status | 0 | 
| statusText | "Failed to send email" |