Microsoft Translatorで翻訳したメールをノンコーディングで自動送信する

SendGridサポートエンジニアの菊田(@kikutaro_)です。

5月23日(火)、24日(水)に行われた日本マイクロソフトさんの開発者向けイベント「de:code 2017」に参加しました。今年のde:codeはCognitive Servicesなどを中心としたAIとHoloLensによるMRの2つが大きく取り上げられていて、とても印象的でした。

人間の認知能力を手軽にWebサービスとして利用できるCognitive Servicesはとても面白いと着目していて、以前、SendGridと絡めたエントリを書いてました。

Microsoft Cognitive ServicesとSendGridを利用してインテリジェントなメールサービスを考える

Cognitive ServicesはREST APIが提供されており(一部のサービスではSDKも揃っています)、開発者の方であれば簡単に利用可能です。また、「コードはちょっと、、」という方でも「Microsoft Flow」を利用することでノンコーディングで簡単にCognitive Servicesを利用した処理を組むことができます。

Microsoft Flowに関しても、以前、SendGridのメール送信イベントを通知する方法の1つとしてブログで紹介させていただいてます。

SendGridのメール送信イベントをLINE Notifyで通知する ~Microsoft Flowによるノンプログラミング連携~

今回のエントリでは、Gmailで受信した英語メールを日本語に翻訳して、その内容をSendGridで別途メール送信する、という処理をコーディングなしで試してみたいと思います。

フローの作成を開始すると、コネクタが表示されるので、「Gmail」を選択します。(一覧に表示がない場合は「Gmail」で検索)

2017-06-02_07h39_01
Gmailのトリガーで「新しいメールが届いたとき」を選択します。Gmailの認証が表示されたら、利用するアカウントを選択してください。

2017-06-02_07h43_15
INBOXを選択して、トリガーとする条件を入力します。今回は件名が「翻訳テスト」の場合と設定しました。

2017-06-02_07h44_14
続いて、新しいステップで「アクションの追加」を行います。

2017-06-02_07h45_10
「Translator」などで検索すると「Microsoft Translator」のコネクタが表示されるので、アクションの一覧で「テキストの翻訳」を選択します。

2017-06-02_07h45_37
「翻訳するテキスト」の部分にGmailの「本文」を選択します。また、今回は英語のメールを受信して、日本語に翻訳するので、対象言語で「日本語」を指定します。詳細オプションでソース言語(例えば今回の場合は英語)を指定することも可能ですが、指定しない場合は自動的に判定されます。

2017-06-02_07h46_08
設定はこれだけです。あとはこの翻訳結果をSendGridで送信してみます。SendGridのアクションを追加して「電子メールを送信します」を選択します。

2017-06-02_07h47_27
接続名とSendGridで生成したAPIキーを指定します。APIキーについてはこちらを参照してください。

2017-06-02_08h04_02
電子メールの本文でMicrosoft Translatorの「翻訳されたテキスト」を指定します。宛先ではGmailの情報を利用することも可能です。

2017-06-02_07h48_34
これですべての設定が完了したので、フローを保存します。

2017-06-02_09h53_35
では、Gmailに英語メールを送ってみましょう。次のようなメールを送ってみました。

2017-06-02_09h53_57
しばらくするとSendGridで指定した宛先へ以下のような翻訳メールが来ます。良い感じですね!

2017-06-02_09h54_31
今回はメールの受信でGmailを利用しましたが、SendGridではParse Webhookを利用することでメールの受信も可能です。前半に紹介したブログと今回のサンプルを合わせることで、翻訳した内容を通知したりすることもできます。

是非色々と試してみてください!