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

SMTP New transporter

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

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

説明

The SMTP New transporter command configures a new SMTP connection according to the server parameter and returns a new SMTP transporter object object. 返された transporter オブジェクトは、通常メールの送信に使用されます。

このコマンドは SMTPサーバーとの接続を開始しません。 The SMTP connection is actually opened when the .send() function is executed.

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

  • when the transporter object is destroyed if the keepAlive property is true (default),
  • after each .send() function execution if the keepAlive property is set to false.

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
メールサーバーでの認証に使用されたユーザー名
なし

戻り値

The function returns a SMTP transporter object. 返されるプロパティはすべて 読み取り専用 です。

例題

 $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