office365メールとの連携

コメント

3件のコメント

  • 正式なコメント
    Ichiro Takahashi

    フィックスポイントの高橋です。

    はい、Kompira Enterprise (v1.6.6 以降) は Office365 メールに届いたメールを IMAP4 で取得することができ、その受信をトリガーにジョブフローを動かすことは可能です。

    なお、Office365 からメールを取得するには OAuth2 による認証を行ないますが、そのためには OAuth2 プロバイダの登録など事前の準備作業が必要になります。以下の記事を参考になさってみてください。

    https://docbase.io/posts/2513028/sharing/4af461ba-3338-461e-adb4-611f7c482c70

    必要な準備を行ないメールチャネル型オブジェクトを作成すると、Office365 からメールを取得することが出来るようになります。メール受信をトリガーにジョブフローを動かす方式としては、大きく次の二通りがあります。

    (1) アクション設定によるジョブフロー実行

    メールを受信するごとに実行させる例えば以下のようなジョブフロー(第一パラメータに受信したメールが渡ります)を用意します。

    |recv_mail|                          # 第一パラメータに受信メールが渡される
    print(recv_mail) # なんらかの処理を行なう(例:受信メールの表示)

    メールチャネルオブジェクトの設定において「アクション種別」は「ジョブフローを実行する」を選択し、「アクションターゲット」として用意したジョブフローを指定します。このように設定すると、メールチャネルは受信間隔ごとにメールサーバからメールを受信して、受信できるごとにアクションターゲットで指定したジョブフローが実行されます。(2) の方式と違って、この設定を行なった時点からメールの受信が開始されます。メール受信ごとにジョブフローが実行されるため、メール受信数に応じてプロセス数が増大することに注意が必要です。

    (2) 常駐ジョブフローによるメール受信処理

    ジョブフローで「イベントジョブ」というジョブを用いて、メールチャネルでのメール受信を待つことができます。メールチャネルをパラメータに指定したイベントジョブは、メールチャネルがメールを受信するまで待ち、受信したメールを結果として受け取ることができます。これを利用して、メールを受信するごとになんらかの処理を行なう、ということを繰り返すようなジョブフローを作成して実行します。(1) の方式と違って、このジョブフローを「実行」しないとメールの受信が開始されません。受信メールのなんらかの処理も同じプロセスで順次実行するので、メール受信数が増えてもプロセス数は一定です(別プロセスに処理させる、という実装も可能ではあります)。

    |メールチャネル = 用意したメールチャネルオブジェクト|
    { while true | # 以下の処理を繰り返す
    <メールチャネル> -> # イベントジョブでメールチャネルでのメール受信を待つ
    [recv_mail = $RESULT] -> # 受信したメールを変数に代入する
       print(recv_mail) # なんらかの処理を行なう(例:受信メールの表示)
    }

    上に示した2つの例は同じようなことを行なっていますが、ジョブフロー実行の方式が異なりますので、用途に合わせて使い分けていただくとよいかと思います。サンプルではエラー処理などは一切行っていませんので、ご注意ください。

    参考になさってみてください。

    コメントアクション パーマリンク
  • auto_ope

    本件について追加で質問させてください。

    ご紹介頂きました記事の内容から、使用するOffice365にkompiraからアクセスできるよう事前に許可を与える設定が必要と認識しておりますが、認識違いがございますでしょうか。内部での承認ステップがあるため、認識違いがございましたら、ご指摘ください。

    0
    コメントアクション パーマリンク
  • Ichiro Takahashi

    ご紹介頂きました記事の内容から、使用するOffice365にkompiraからアクセスできるよう事前に許可を与える設定が必要と認識しておりますが、認識違いがございますでしょうか。

    はい、ご認識のとおり、資料にあるように Azure Portal サイトにて API のアクセス許可などの事前設定が必要になります。

     

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。