##きっかけ
歩いている時、遅延した電車でギュウギュウの時、**「スマホからだとメールが打ちづらい!」**と思い、Slackから簡単にメールが送れるようにならないか、と思ったのがきっかけです。
##使うもの
- Zapier
- Slack
- Google Apps Script
- Gmail
最初IFTTTでやってみようと思ったのですが、調べてみた所Googleがサポート終了していたため、Zapierでやってみることにしました。
ZapierとSlackの連携
Slackで「こんにちは,お元気ですか」と打ち込んだら、
件名:こんにちは
本文:お元気ですか
とメール送信されるようにしてみたいと思います。
こちらを参考にさせていただきました。
Slack から メールを送れるようにしてみた ~その1~
Step1のSlackで投稿する内容を「こんにちは、お元気ですか」の形にし、
Step2で追加する、コードの部分をこんな感じにしてみました。
var input = inputData.data.split(',');
var subject = input[0]; // 一番目の内容
var content = input[1]; // 二番目の内容
var to = '****@****.com'; // 宛先
var cc = '****@****.com';
var body = `
お疲れ様です
${content}
改行をそのまま送信したいため、バッククォートで囲んでいます
`
output = {
to: to,
cc: cc,
subject: subject,
body: body
};
}
スラッシュコマンドでメールフォーマットを表示
ZapierとSlackの連携が済んだら、あとはSlackに投稿するだけ!なのですが、設定したフォーマット通りの投稿をしないとメール送信してくれません。
なのでスラッシュコマンドを打ったらメールのフォーマットを教えてくれるように設定してみたいと思います。
こちらを参考にさせていただきました。
####1. Google Apps Scriptにアクセス
Googleにログインしていない場合はログインしてください。
####2. 特定の文言を返すスクリプトを作成
「こんにちは,お元気ですか」の元となるフォーマットのため、「件名、本文」とします。
スクリプトを保存し、公開>ウェブアプリケーションとして導入...を選択。
アプリケーションにアクセスできるユーザーが自分だけになっているので変更し、保存。出てきたURLをコピーしてメモ帳か何かに貼り付けておきます。
####3. Slackでスラッシュコマンドのアプリを追加
メール送信用のチャンネルを開き、詳細から「アプリを追加する」を選択。
Slash Commandsで検索すると同名のアプリが出てくるので、インストール。
Slash Commandsの設定を開き、情報を入力し保存。URLは先ほどGoogle Apps Scriptで作成したウェブアプリのURLを入れます。
Slackでスラッシュコマンドを投稿してみて、こんな風に返ってきたら成功です。
このフォーマットに従い、件名を「こんにちは」、本文を「お元気ですか」に変更してSlackに投稿すると、
Zapierでtoとccに設定した宛先に
件名:こんにちは
本文:お元気ですか
の形でメールが送信されます。
今回の方法ではメールの送信先が限定されますが、Zapierのテンプレート設定でメールアドレスの部分をSlackの投稿から取得、スラッシュコマンドで送信先込みのフォーマットを返すような形にすれば、便利かもしれません。