LoginSignup
3
1

More than 3 years have passed since last update.

Slash CommandsとGASで緊急連絡メールを送る

Last updated at Posted at 2020-04-21

はじめに

  • グループの緊急連絡網の手段をメール→slackに移行を試みようと思ったのですが一部slackの導入ができない人もいたため、メール対応も残しておく必要がありました。
  • ただ、slackに投降する作業とメール送信作業を別々に行うのがめんどくさかったたため、slack上から同時に行えるようしました。

スラッシュコマンド作成の流れ

今回作るもの

  • /emergency-mail [メール内容]を入力すると[メール内容]をタイムラインに投降しつつ、登録メールアドレスに送信する仕組みです。

image.png

  • 送信するとslack/メールにはそれぞれ下記のように配信されます。
image.png
image.png

コマンドの作成

GASのプロジェクトを作成する

  • https://script.google.com を開いてみましょう。
  • Googleアカウントにログインしている状態であれば、新規のプロジェクトがつくられるはずです。
  • 画面上にエディターが表示されます。ソースは下記のようにしました。
コード.gs
function send_A_mail(user, memo) {
  var to="*******@yahoo.co.jp,*******@gmail.com"; // 送信先メールアドレスはカンマでつなぐ
  var from="*******@gmail.com"; // 送信者メールアドレス(作成者のgmailアドレスを入力)
  var sender=user; // 送信者名
  var subject="テスト配信_緊急連絡網(slackから転送)"; // 件名
  var body="テスト配信_緊急連絡網(slackから転送)になります。\n"
  + "---------------\n"
  + memo + "\n"
  + "---------------\n"
  + "詳細はslackにてご確認ください。https://********.slack.com/ \n"
  + "メールで回答する場合は右記に返信ください。 ************@gmail.com"
  GmailApp.sendEmail(to, subject, body, {from: from, name: sender});
}

function doPost(e) {
  var user = e.parameter.user_name;
  var memo = e.parameter.text;
  var response = { "text" :  "---以下転送内容でメール送信を行いました---\n","response_type" : "in_channel" };//
  var verificationToken = e.parameter.token;
  if (verificationToken != '***********') { 
    throw new Error('Invalid token');
  }
  send_A_mail(user, memo);
  response.text = "テスト配信_緊急連絡網です。\n" + memo
  return ContentService.createTextOutput(JSON.stringify(response)).setMimeType(ContentService.MimeType.JSON);
}

image.png

  • 3つ目のアプリケーションにアクセスできるユーザーを全員(匿名ユーザーも含む)またはAnyone,even anonymousに忘れずに変更しましょう。
    • スラッシュコマンドを実行して“http_client_error”が返ってきたときはここを疑いましょう。
  • また、ソース内容を更新した時には2つ目のProject version は必ずNewを選びましょう。
  • 「導入」or「更新」を押せば終了を押す。
  • 外部サービスへの接続の許可を聞かれるので 「詳細」 → 「プロジェクト名(安全ではないページ)に移動」とクリックして「許可」する。もう一度「許可」をクリックしてOK。

image.png

  • 下記画面が表示されるので Current as web app URL をメモしておく。

image.png

Slack Appをつくる

image.png

image.png
* これで完成となります。

終わりに

  • 意外とサクッとつくれたので、slackとメールの併用が必要になったときの参考にどうぞ。
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1