SMTPTransporter
SMTPTransporter
クラスを使って、SMTP接続の設定や、SMTP transporter オブジェクトを介したメールの送信をおこなうことができます。
SMTP Transporter オブジェクト
SMTP Transporter objects are instantiated with the SMTP New transporter
command. これらは、次のプロパティや関数を持ちます:
.acceptUnsecureConnection : Boolean 暗号化されていない接続の確立が許可されてれば true |
.authenticationMode : Text メールサーバーのセッションを開くのに使用される認証モード |
.bodyCharset : Text メール本文で使用される文字セットとエンコーディング |
.checkConnection() : Objecttransporter オブジェクトが保存する情報を使用して接続をチェックします |
.connectionTimeOut : Integer サーバー接続の確立までに待機する最長時間 (秒単位) |
.headerCharset : Text メールヘッダーで使用される文字セットとエンコーディング |
.host : Text ホストサーバーの名前または IPアドレス |
.keepAlive : Booleantransporter オブジェクトが抹消されるまで、SMTP接続が維持されなければならない場 合に true |
.logFile : Text メール接続に対して定義された拡張ログファイル (あれば) へのフルパス |
.port : Integer メール通信に使用されるポート番号 |
.send( mail : Object ) : Object mail オブジェクト 引数が指定するメールメッセージを、 transporter オブジェクトが定義する SMTPサーバーへと送信し、ステータスオブジェクトを返します |
.sendTimeOut : Integer.send() 呼び出し時のタイムアウト時間 (秒単位) |
.user : Text メールサーバーでの認証に使用されたユーザー名 |
4D.SMTPTransporter.new()
4D.SMTPTransporter.new( server : Object ) : 4D.SMTPTransporter
引数 | 型 | 説明 | |
---|---|---|---|
server | オブジェクト | -> | メールサーバー情報 |
戻り値 | 4D.SMTPTransporter | <- | SMTP transporter object |
説明
4D.SMTPTransporter.new()
関数は、 新規の 4D.SMTPTransporter
型オブジェクトを作成して返します。 It is identical to the SMTP New transporter
command (shortcut).
.acceptUnsecureConnection
履歴
リリース | 内容 |
---|---|
17 R4 | 追加 |
.acceptUnsecureConnection : Boolean
説明
.acceptUnsecureConnection
プロパティは、暗号化された接続が不可能な場合に、 暗号化されていない接続の確立が許可されてれば true を格納します。
暗号化されていない接続が許可されていない場合には false が格納されており、その場合に暗号化された接続が不可能な場合にはエラーが返されます。
使用可能なセキュアなポートは次のとお りです:
-
SMTP
- 465: SMTPS
- 587 または 25: STARTTLS アップグレードがされた SMTP (サーバーがサポートしていれば)
-
IMAP
- 143: IMAP 非暗号化ポート
- 993: STARTTLS アップグレードがされた IMAP (サーバーがサポートしていれば)
-
POP3
- 110: POP3 非暗号化ポート
- 995: STARTTLS アップグレードがされた POP3 (サーバーがサポートしていれば)
.authenticationMode
履歴
リリース | 内容 |
---|---|
17 R4 | 追加 |
.authenticationMode : Text
説明
.authenticationMode
プロパティは、メールサーバーのセッションを開くのに使用される認証モードを格納します。
デフォルトでは、サーバーによってサポートされている最も安全なモードが使用されます。
とりうる値:
値 | 定数 | 説明 |
---|---|---|
CRAM-MD5 | SMTP authentication CRAM MD5 | CRAM-MD5 プロトコルを使用した認証 |
LOGIN | SMTP authentication login | LOGIN プロトコルを使用した認証 |
OAUTH2 | SMTP authentication OAUTH2 | OAuth2 プロトコルを使用した認証 |
PLAIN | SMTP authentication plain | PLAIN プロトコルを使用した認証 |
.bodyCharset
履歴
リリース | 内容 |
---|---|
18 | UTF8 base64 をサポート |
17 R5 | 追加 |
.bodyCharset : Text
説明
.bodyCharset
プロパティは、 メール本文で使用される文字セットとエンコーディングを格納します。
とりうる値:
定数 | 値 | 説明 |
---|---|---|
mail mode ISO2022JP | US-ASCII_ISO-2022-JP_UTF8_QP |
|
mail mode ISO88591 | ISO-8859-1 |
|
mail mode UTF8 | US-ASCII_UTF8_QP | headerCharset & bodyCharset: 可能なら US-ASCII、それが不可なら UTF-8 & Quoted-printable (デフォルト値) |
mail mode UTF8 in base64 | US-ASCII_UTF8_B64 | headerCharset & bodyCharset: 可能な場合は US-ASCII、それ以外は UTF-8 & base64 |
.checkConnection()
履歴
リリース | 内容 |
---|---|
17 R4 | 追加 |
.checkConnection() : Object
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | オブジェクト | <- | transporter オブジェクト接続のステータス |
説明
.checkConnection()
関数は、transporter
オブジェクトが保存する情報を使用して接続をチェックします。必要なら再接続をし、そのステータスを返します。 この関数を使用して、ユーザーから提供された値が 有効かどうかを検証することができます。
返されるオブジェクト
この関数はメールサーバーにリクエストを送信し、メールステータスを表すオブジェクトを返します。 このオブジェクトには、次のプロパティが格納されることがあります:
プロパティ | 型 | 説明 | |
---|---|---|---|
success | boolean | チェックが成功した場合には true、それ以外は false | |
status | number | (SMTPのみ) メールサーバーから返されたコード (メール処理に関係ない問題の場合には 0) | |
statusText | テキスト | メールサーバーから返されたステータスメッセージ、または 4Dエラースタック内に返された最後のエラー | |
errors | collection | 4Dエラースタック (メールサーバーレスポンスが受信できた場合には返されません) | |
[ ].errCode | number | 4Dエラーコード | |
[ ].message | テキスト | 4Dエラーの詳細 | |
[ ].componentSignature | テキスト | エラーを返した内部コンポーネントの署名 |
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
.connectionTimeOut
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.connectionTimeOut : Integer
説明
.connectionTimeOut
プロパティは、サーバー接続の確立までに待機する最長時間 (秒単位)を格納します。 SMTP New transporter
や POP3 New transporter
、 IMAP New transporter
のコマンドで transporter
オブジェクトを作成する際に使用される server
オブジェクトにおいて、 このプロパティが指定されなかった場合のデフォルトは 30 です。
.headerCharset
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.headerCharset : Text
説明
.headerCharset
プロパティは、メールヘッダーで使用される文字セットとエンコーディングを格納します。 ヘッダーにはメールの次の要素を含みます:
- 件名
- 添付ファイル名
- メール名
とりうる値:
定数 | 値 | 説明 |
---|---|---|
mail mode ISO2022JP | US-ASCII_ISO-2022-JP_UTF8_QP |
|
mail mode ISO88591 | ISO-8859-1 |
|
mail mode UTF8 | US-ASCII_UTF8_QP | headerCharset & bodyCharset: 可能なら US-ASCII、それが不可なら UTF-8 & Quoted-printable (デフォルト値) |
mail mode UTF8 in base64 | US-ASCII_UTF8_B64 | headerCharset & bodyCharset: 可能な場合は US-ASCII、それ以外は UTF-8 & base64 |
.host
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.host : Text
説明
.host
プロパティは、ホストサーバーの名前または IPアドレスを格納します。 この情報はメール通信 (SMTP、POP3、IMAP) に使用されます。
.keepAlive
履歴
リリース | 内容 |
---|---|
17 R4 | 追加 |
.keepAlive : Boolean
説明
.keepAlive
プロパティは、transporter
オブジェクトが抹消されるまで、SMTP接続が維持されなければならない場合に true、それ以外は false を格納します。 SMTP New transporter
コマンドで transporter
オブジェクトを作成する際に使用する server
オブジェクトにおいて、 keepAlive
プロパティが指定されなかった場合のデフォルトは true です。
SMTP接続は、以下の場合に自動的に閉じられます:
.keepAlive
プロパティが true (デフォルト) の場合には、transporter
オブジェクトが消去された時。.keepAlive
プロパティが false の場合には、各.send( )
関数が実行された後。