メインコンテンツまでスキップ
バージョン: 20 R10

SMTPTransporter

SMTPTransporter クラスを使って、SMTP接続の設定や、SMTP transporter オブジェクトを介したメールの送信をおこなうことができます。

SMTP Transporter オブジェクト

SMTP Transporter オブジェクトは SMTP New transporter コマンドによってインスタンス化されます。 これらは、次のプロパティや関数を持ちます:














4D.SMTPTransporter.new()

4D.SMTPTransporter.new*( server : Object ) : 4D.SMTPTransporter

引数説明
serverObject->メールサーバー情報
戻り値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 R5MIMEコンテンツをサポート
17 R4追加

.send*( mail : Object ) : Object

引数説明
mailObject->送信する メール
戻り値Object<-SMTP ステータス

説明

.send() 関数は、mail オブジェクト 引数が指定するメールメッセージを、transporter オブジェクトが定義する SMTPサーバーへと送信し、ステータスオブジェクトを返します。

transporter オブジェクトは、事前に SMTP New transporter コマンドによって作成されている必要があります。

この関数は、SMTP接続が事前に開かれていなかった場合には、それを作成します。 transporter オブジェクトの .keepAlive プロパティが false であった場合、SMTP接続は .send() 実行後に自動的に閉じられます。それ以外の場合には、接続は transporter オブジェクトが消去されるまで開いたままになります。 詳細については、SMTP New transporter コマンドの説明を参照してください。

mailには、送信する有効な Email オブジェクト を渡します。 メールには送信元 (メールがどこから送られるか) と送信先 (一名以上の受信者) プロパティが含まれている必要がありますが、その他のプロパティは任意です。

返されるオブジェクト

この関数は、SMTP ステータスを表すオブジェクトを返します。 このオブジェクトには、次のプロパティが格納されることがあります:

プロパティ説明
successboolean送信に成功した場合は true、それ以外は false
statusnumberSMTPサーバーから返されたコード (メール処理に関係ない問題の場合には 0)
statusTexttextSMTPから返されるステータスメッセージ

SMTP 処理とは関係のない問題 (例: 必須プロパティがメールにない) が発生した場合、4D はエラーを生成します。 これは、ON ERR CALL コマンドでインストールしたメソッドでインターセプトできます。 エラー情報を取得するには、Last errors コマンドを使用します。

この場合、結果のステータスオブジェクトには以下の値が含まれます:

プロパティ
successfalse
status0
statusText"Failed to send email"