IMAP: メールボックスID とメールキーワード

4D v20 では、IMAPトランスポーターに非常に便利な機能が 2つ追加されました!

IMAPメールサーバーやクライアントの中には、メール内のカスタムキーワードを管理し、固有の機能を利用する必要があるものがあります。

また、IMAPトランスポーターにメールボックスID のサポートを追加し、名前を変更した後でも、メールボックスを識別できるようにしました。

カスタムキーワード

IMAPサーバーの中には、ユーザーによるカスタムキーワードの定義を許可するものがあるため、.addFlags().removeFlags() 関数は、任意の単語をキーワードとして受け入れるようになりました:

$transporter:=IMAP New transporter($parameters)
$boxInfo:=$transporter.selectBox("INBOX")

$mailIds:=["122";"123";"124"]
// カスタムキーワード
$keywords:={"myKeyword":true}
// メールのコレクションに対してカスタムキーワードを適用します
$status:=$transporter.addFlags($mailIds; $keywords)

また、.selectBox() 関数は、.flags と .permanentFlags 属性を通して、カレントメールボックスで許可されているフラグのリストを返します:

$selectBox:=$transporter.selectBox("INBOX")
// $selectBox={name:INBOX,
// mailCount:124,
// mailRecent:0,
// id:644737301,
// flags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword,
// permanentFlags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword \\*}  

メールボックスID

選択したボックスの名前が変更されたか、それとも削除後に再作成されたかを知るには、メールボックス名だけでは不十分なので、IMAPトランスポーターの .selectBox() および .getBoxInfo() 関数が返す情報に id が追加されました:

$boxInfo:=$transporter.getBoxInfo("INBOX")
// {name:INBOX,
// mailCount:125,
// mailRecent:0,
// id:644737301}

これらの機能の詳細については、ドキュメントをご確認ください!

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。