SMTP New transporter
SMTP New transporter( server : Object ) : 4D.SMTPTransporter
| 引数 | 型 | 説明 | |
|---|---|---|---|
| server | Object | → | メールサーバー情報 | 
| 戻り値 | 4D.SMTPTransporter | ← | SMTP transporter オブジェクト | 
履歴
| リリース | 内容 | 
|---|---|
| 18 | logFile プロパティを追加 | 
| 17 R5 | bodyCharset と headerCharset プロパティを追加 | 
| 17 R4 | 追加 | 
説明
SMTP New transporter コマンドは、新規のSMTP 接続を設定します。このSMTP 接続はserver 引数の指定に応じて設定され、コマンドは新しい SMTP transporter オブジェクト オブジェクトを返します。 返された transporter オブジェクトは、通常メールの送信に使用されます。
このコマンドは 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 プロトコルが使用されます (サーバーで許可されていれば)。 これは SMTP transporter オブジェクトでは返されません。 | なし | 
| .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 サーバーとの認証のためのユーザーパスワード。 これは SMTP transporter オブジェクトでは返されません。 | なし | 
| .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
プロパティ
| コマンド番号 | 1608 | 
| スレッドセーフ | ✓ |