Microsoft 365 の、メールなどのデータにアクセスする方法として、Microsoft は IMAP と POP3 の Basic認証を廃止とし、Graph API の使用を推進しています。
v19 R8では、4D NetKit にビルトインコマンドが新しく追加され、メールのコピー、移動、返信、削除などの Microsoft 365 メールの操作をネイティブで自動化できるようになりました。
アカウント接続
まず初めに、OAuth2接続用のオブジェクトと Office 365 オブジェクトを作成します。
var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365
$oAuth2:=cs.NetKit.OAuth2Provider.new($param)
$office365:=cs.NetKit.Office365.new($oAuth2;\
New object("mailType"; "Microsoft"))
メールの移動またはコピー
メールをあるフォルダーから別のフォルダーに移動するには、.move() 関数に mailId と folderId を渡します:
$status:=$office365.mail.move($mailId; $folderId)
同様に、あるフォルダーから別のフォルダーにメールをコピーするには、.copy() 関数に mailId と folderId を渡します:
$status:=$office365.mail.copy($mailId; $folderId)
メールに返信する
電子メールに返信するには、送信したいテキストと、返信対象のメールの mailId を .reply() 関数に渡します:
$reply:=New object
// 返信文としえ送信されるテキスト
$reply.comment:="Thank you for your message"
$status:=$office.mail.reply($reply; $mails.mailId)
下書きメールを追加する
下書きメールを作成し、.append () 関数を使って任意のフォルダーに保存することができます:
// メールを追加します
$status:=$office365.mail.append($draft; $folder.id)
メールの削除
メールを削除するには、.delete() 関数にメールの ID を渡します:
$office365.mail.delete($mailId)
これらの機能については、上記の HDI とドキュメントで詳細を確認してください。
メールの管理に関するためのその他のコマンドについては、このブログ記事を読んでみましょう。