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

SMTP New transporter

SMTP New transporter( server : Object ) : 4D.SMTPTransporter

引数説明
serverObjectメールサーバー情報
戻り値4D.SMTPTransporterSMTP transporter オブジェクト
履歴
リリース内容
18logFile プロパティを追加
17 R5bodyCharset と headerCharset プロパティを追加
17 R4追加

説明

SMTP New transporter コマンドは、新規のSMTP 接続を設定します。このSMTP 接続はserver 引数の指定に応じて設定され、コマンドは新しいSMTP transporter オブジェクト オブジェクトを返します。 返された transporter オブジェクトは、通常メールの送信に使用されます。 返された transporter オブジェクトは、通常メールの送信に使用されます。 返された transporter オブジェクトは、通常メールの送信に使用されます。

このコマンドは SMTPサーバーとの接続を開始しません。 このコマンドは SMTPサーバーとの接続を開始しません。 このコマンドは SMTPサーバーとの接続を開始しません。 SMTP 接続は、実際には.send() 関数が実行されたときに開かれます。

SMTP接続は、以下の場合に自動的に閉じられます:

  • .keepAlive プロパティが true (デフォルト) の場合に、transporter オブジェクトが消去された時。
  • keepAlive プロパティがfalse に設定されている場合に、.send() 関数が実行された後。

server 引数として、以下のプロパティを持つオブジェクトを渡します:

serverデフォルト値 (省略時)
.acceptUnsecureConnection : Boolean
暗号化されていない接続の確立が許可されてれば true
false
.accessTokenOAuth2: Text
.accessTokenOAuth2: Object
OAuth2 認証の資格情報を表すテキスト文字列またはトークンオブジェクト。 authenticationMode が OAUTH2 の場合のみ使用されます。 accessTokenOAuth2 が使用されているが authenticationMode が省略されていた場合、OAuth2 プロトコルが使用されます (サーバーで許可されていれば)。 Not returned in SMTP transporter object.
なし
.authenticationMode : Text
メールサーバーのセッションを開くのに使用される認証モード
サーバーがサポートするもっともセキュアな認証モードが使用されます
.bodyCharset : Text
メール本文で使用される文字セットとエンコーディング
mail mode UTF8 (US-ASCII_UTF8_QP)
.connectionTimeOut : Integer
サーバー接続の確立までに待機する最長時間 (秒単位)
30
.headerCharset : Text
メールヘッダーで使用される文字セットとエンコーディング
mail mode UTF8 (US-ASCII_UTF8_QP)
.host : Text
ホストサーバーの名前または IPアドレス
mandatory
.keepAlive : Boolean
transporter オブジェクトが抹消されるまで、SMTP接続が維持されなければならない場合に true
true
.logFile : Text
メール接続に対して定義された拡張ログファイル (あれば) へのフルパス
なし
password : Text
サーバーとの認証のためのユーザーパスワード。 Not returned in SMTP transporter object.
なし
.port : Integer
メール通信に使用されるポート番号
587
.sendTimeOut : Integer
.send() 呼び出し時のタイムアウト時間 (秒単位)
100
.user : Text
メールサーバーでの認証に使用されたユーザー名
なし

戻り値

この関数はSMTP transporter オブジェクト を返します。 返されるプロパティはすべて 読み取り専用 です。 返されるプロパティはすべて 読み取り専用 です。 返されるプロパティはすべて 読み取り専用 です。

例題

 $server:=New object
$server.host:="smtp.gmail.com" // 必須
$server.port:=465
$server.user:="4D@gmail.com"
$server.password:="XXXX"
$server.logFile:="LogTest.txt" // Logsフォルダーに保存する拡張されたログ

var $transporter : 4D.SMTPTransporter
$transporter:=SMTP New transporter($server)

$email:=New object
$email.subject:="my first mail "
$email.from:="4d@gmail.com"
$email.to:="4d@4d.com;test@4d.com"
$email.textBody:="Hello World"
$email.htmlBody:="<h1>Hello World</h1><h4>'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...'</h4>\
<p>There are many variations of passages of Lorem Ipsum available."\
+"The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>"

$status:=$transporter.send($email)
If(Not($status.success))
ALERT("メール送信中にエラーが発生しました: "+$status.message)
End if