kompiraとの連携について
kompiraとの連携についてご教示ください。
kompiraとのメール連携において、メールサーバを自前でたてるのではなく、AmazonSESやSendGridを利用した連携はとれないでしょうか。
-
もう少し質問させて下さい。
AmazonSESでメール送信できることは理解できましたが、AmazonSESやSendGridで受信したメールをトリガーとして、メールサーバで受信したときと同じような動作はできないでしょうか。
例えばAmazon SESトリガーでLambdaを実行するなどしてREST API経由でジョブフロー実行する、もしくはkompira sendevtでメッセージを送信するといった事例や実績はありますでしょうか。
(メールのラッシュ等を考えると後者が望ましいと考えています。)
またその場合、Lambdaのサンプルなどがあれば提供してもらうことは可能でしょうか。
-
ご返信が遅くなってしまい申し訳ございません。
「AmazonSESやSendGridで受信したメールをトリガーとして、メールサーバで受信したときと同じような動作」について、現状では相当するような機能はございません。
「Amazon SESトリガーでLambdaを実行するなどしてREST API経由でジョブフロー実行する」につきましては、事例は確認できておりません(そのためサンプルもご用意がございません)が、AWS Lambda から Kompira の REST API を呼び出すことが可能な環境であれば、ジョブフロー実行は可能であると思います。
一方で、Kompira sendevt は対象サーバにインストールする必要があるため、Lambda から直接呼び出すようなことは難しいのではないかと思います。
参考になさってください。
-
はい、可能です。
以下のサンプルでは、ジョブフローの chan パラメータで指定したチャネルオブジェクトの絶対パスを kompira_sendevt コマンドの --channel オプションに指定して実行して、その後、そのチャネルで受信したデータを表示しています。
|chan = ./chan|
["/opt/kompira/bin/kompira_sendevt --channel=$chan key1=val1 key2=val2"] ->
<chan> ->
print($RESULT)簡単のために kompira サーバのローカル上で kompira_sendevt を実行していますが、__node__ などで指定したリモートサーバの kompira_sendevt を同様に実行することでデータの送信が可能です。
-
SendGridのInbound Email Parse WebhookでKompiraのChannelにPOSTしても普通に取り出せます。
SendGrid側の問題として、レガシーな環境からのメールやお作法を守ってないメールのcharsetsを正しく認識しないとかはあるかも知れません。ジョブフロー
</system/channels/SendGrid> ->
[message = $RESULT] ->
print(type(message)) ->
print(message) ->
print(message.subject)Inbound Paserの設定はREST API トークンを設定する必要がある以外はSendGridのマニュアル通りです。
https://<Kompiraドメイン>/system/channels/<Channel>.send?token=<トークン鍵>
サインインしてコメントを残してください。
コメント
11件のコメント