IMAPNotifier
IMAPNotifier クラスを使用すると、選択されたメールボックスに対してIMAP IDLE 通知を管理することができます。
履歴
| リリース | 内容 |
|---|---|
| 21 R3 | クラスを追加 |
IMAPNotifier クラスは、4D クラスストアから利用可能です。
IMAPNotifier オブジェクトはIMAP transporter と関連づけられており、メールボックス通知管理へのアクセスを提供します。
IMAPNotifier クラス関数は全てスレッドセーフです。
例題
// リスナーコールバックを定義
var $parameter : Object
var $transporter : 4D.IMAPTransporter
$parameter:=New object
$parameter.authenticationMode:=IMAP authentication OAUTH2
$parameter.host:="Outlook.office365.com"
$parameter.port:=993
$parameter.accessTokenOAuth2:=$myToken
$parameter.user:="myaddress@email.com"
$parameter.listener:=cs.IMAPListener.new()
$transporter:=IMAP New transporter($parameter)
$transporter.selectBox("INBOX")
$transporter.notifier.start()
IMAPNotifier オブジェクト
IMAPNotifier オブジェクトは以下のプロパティと関数を提供します:
| .isStarted : Boolean 通知が開始されたか( true) 停止されたか(false) を表します |
| .start() : Object サーバー通知への登録を開始し、IMAP リスナーコールバックを起動します |
| .stop() : Object 通知の登録を停止します |
4D.IMAPNotifier.new()
4D.IMAPNotifier.new() : 4D.IMAPNotifier
| 引数 | 型 | 説明 | |
|---|---|---|---|
| 戻り値 | 4D.IMAPNotifier | <- | 新規 IMAPNotifier オブジェクト |
説明
4D.IMAPNotifier.new() 関数は新しいIMAPNotifier オブジェクトを作成します。
.isStarted
.isStarted : Boolean
説明
.isStarted プロパティは 通知が開始されたか(true) 停止されたか(false) を表します。 このプロパティは 読み取り専用 です。
.start()
.start() : Object
| 引数 | 型 | 説明 | |
|---|---|---|---|
| 戻り値 | Object | <- | オペレーションステータス |
説明
.start() 関数はサーバー通知への登録を開始し、IMAP リスナーコールバックを起動します。
メールボックスは.start() を呼び出す前にselectBox() を使用して選択しておく必要があります。
コールバック関数は、.start() が呼び出されたワーカー内で実行されます。
-
通知が開始されたら、(
getMail()あるいはsend()などの) 他のトランスポーター関数は利用できなくなります。 これらの関数を使用するためにはその前に.stop()を呼び出し、そして通知を再開するためには.start()をまた呼び出す必要があります。 -
IMAP IDLE 通知は、変化が起きたということを表しますが、更新されたメールボックスのデータは提供しません。 メールボックスの状態を更新するためには、通知を停止し、更新されたデータを取得し(例えばを
getMail()使用するなど)、その後に通知を再開する必要があります。
返されるオブジェクト
| プロパティ | 型 | 説明 | |
|---|---|---|---|
| success | Boolean | 処理が正常に終わった場合には true、それ以外は false | |
| statusText | Text | IMAPサーバーから返されたステータスメッセージ、または 4Dエラースタック内に返された最後のエラー | |
| errors | Collection | 4D エラースタック(サーバーレスポンスが受信できた場合には返されません) | |
| [].errcode | Number | 4Dエラーコード | |
| [].message | Text | エラーの詳細 | |
| [].componentSignature | Text | エラーを返したコンポーネントの署名 |
.stop()
.stop() : Object
| 引数 | 型 | 説明 | |
|---|---|---|---|
| 戻り値 | Object | <- | オペレーションステータス |
説明
.stop() 関数は通知の登録を停止します。 他のトランスポーター関数(getMail() あるいは send()など) を呼び出す前に、.stop() 関数を呼び出す必要があります。
返されるオブジェクト
| プロパティ | 型 | 説明 | |
|---|---|---|---|
| success | Boolean | 処理が正常に終わった場合には true、それ以外は false | |
| statusText | Text | IMAPサーバーから返されたステータスメッセージ、または 4Dエラースタック内に返された最後のエラー | |
| errors | Collection | 4D エラースタック(サーバーレスポンスが受信できた場合には返されません) | |
| [].errcode | Number | 4Dエラーコード | |
| [].message | Text | エラーの詳細 | |
| [].componentSignature | Text | エラーを返したコンポーネントの署名 |