<分散通知の仕組みを作る STEP2: 電子メール配信>
別ページで表示
STEP2として電子メール配信を説明します。実際の配信の手順は、STEP5のブログ配信を先に行い、そのリンクURLを、電子メール、LINE、Push7の関係リンクにします。
ここでは、昔からある、電子メールによる配信、グループメール配信を基本形として先に扱うことにします。
なおGoogleグループメールの配信先ですが、Googleメールでよく使うGoogle連絡先を使います。Google連絡先にまず登録(※1)→GoogleグループアプリへGoogle連絡先に登録されているメールアドレスを呼び込んで登録、という手順を行なっています。原本の共有化です。
ビジネス用途であるGoogle workspaceというサービスがあり、これの方が本格的ですが、あくまで無料の小規模な利用から始めますので、普通のGoogle個人アカウントを使います。これであっても、配信件数限度は少なくなりますが、Googleグループメール は使うことができます。
Google個人アカウント@gmail.comを持っていれば、
Google個人アカウント@googlegroups.com というグループメールアドレスが取得出来ます。
例えば、適当ですが、nihonnofujisan001@gmail.com、を持っていれば
nihonnofujisan001@googlegroups.com というグループメールアドレスが取得出来ます。
使い方は簡単、メールをたった1個、以下のように打てば、グループ全員に届くことです。
TO:nihonnofujisan001@googlegroups.com
FROM:nihonnofujisan001@gmail.com
ーーーーーーーーーーーーーーーーーーーーー
***の件
****
********
※1: 当面、手作業で配信依頼先のメールアドレスを登録します。別のWebサイトで配信の申し込みができるようにしておりGoogleフォームを通じてGoogleSSへ記録しています。従って同じGoogleアカウントのGoogleアプリ同士なので、APIか関数で割と簡単にGoogle連絡先へ自動登録が可能でしょう。しかしメールアドレスについては、一応、イタズラの有無など人間がチェックした方がいいと捉えています。
別の方法として、姓名、メールアドレスをGoogleSSに登録しておいて、for文でループしながら送信するやり方もあります。もし、送信手段がメールだけなら気長に待てるかも知れませんが、今回、私は、複数のSNSから次々と送ろうとしていますので、手離れよくするために、グループメールアドレスを使うようにしました。
ポイント解説
<1>Googleグループアプリの設定〜オーナーの配信のみに制限。
このグループメールは、グループメンバー間での議論に利用することが多いと思われますが、今回、私がこれを使う目的は、緊急通知の配信、です。一方通行です。従って、投稿者は私のみ、メンバーからは投稿不可、の制約を加えています。
グループ設定の中の「投稿ポリシー」の設定:
メールでの投稿を許可 | 許可する |
ウエブからの投稿を許可 | 許可する |
会話の履歴 | オフ |
投稿者に非公開で返信できるユーザー | グループのオーナー |
ファイルを添付できるユーザー | グループのオーナー |
コンテンツを管理できるユーザー | グループのオーナー |
メタデータを管理できるユーザー | グループのオーナー |
グループとして投稿できるユーザー | グループのオーナー |
デフォルトの差出人 | 投稿者のアドレス |
メッセージの管理 | 管理しない |
新しいメンバーの制限 | 新しいメンバーに投稿を許可しない |
スパムメッセージの処理 | スパムに分類されたすべてのメッセージを拒否 |
拒否されたメッセージに関する通知 | オフ |
以上のように、グループのオーナーからの一方的な通知に限定しています。
送信テストをするために、少なくとも2個、自分で確認できるメールアドレスを連絡先→グループメール連絡先選択、を済ませておきます。
どのメーラーでもいいですので、例えば私は、Macの純正アプリである「メール」アプリを使って以下のように送ってみます。Gmailの送信を使う必要はありません。
その結果、以下のようなメールが複数箇所へ届けばOKです(赤塗りが多くてすみません。)ーー以下の部分は、グループ設定の中で、規定できます。但しーーー以下の内容は、無料のアカウントでは変更できません。やむを得ず、「下の段落は無視してください。」と注釈しました。
以上でGoogleグループメール側の準備が出来ました。
<2> GoogleSSへの取り込み、及び GAS記述
緊急通知なので、送信する内容はコンパクトに、subject とbodyだけです。
この画面には、Googleフォームへ入力した通知文が取り込まれるため、内容を確認するだけです。問題がなければ、「グループメール 投稿」ボタンを押します。
通知文の読み込み:
IMPORTRANGE関数を使います。
読み込みたいGoogleSSのURLが、
https://docs.google.com/spreadsheets/d/【この部分】/edit#gid=0
【この部分】を以下の部分に当てはめてください。sheet1は実際のシート名、A20のところも実際のセル位置を当てはめてください。
タイトル、本文、関係リンクそれぞれ、当てはめてください。
=IMPORTRANGE("【この部分】","sheet1!A20")
=IMPORTRANGE("【この部分】","sheet1!A22")
=IMPORTRANGE("【この部分】","sheet1!A24")
GASの記述:
赤字は、例示。
function sendMail(){
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const from = 'nihonnofujisan001@gmail.com';
const to = 'nihonnofujisan001@googlegroups.com';
const subject = sheet.getRange(3,1).getValue();
const body = sheet.getRange(9,1).getValue();
GmailApp.sendEmail(to, subject, body);
}
わずか9行です。
<3>GoogleSSのGASをiPhoneで使う裏技。PC版サイトで扱う。
iPhoneでの操作方法は、以下の動画をご覧ください。
PC版にした後、iPhoneを横向きにするのがポイントです。
字幕の翻訳はトップ左の言語をお選びください。
〜緊急通知をiPhoneから投稿〜
(1)Google Chromeを使います。
(2)ブックマークから目的のGoogleSSを選びます。
(3)モバイルサイトなので画面表示が一部分しか見えません。
(4)「PC版サイトを見る」を選択します。
(5)全体が見えると、今度は文字が小さ過ぎる。
(6)iPhoneを横向きに変えます。
(7)キーボードが邪魔。ここの「閉じる」を押します。
(8)見やすい。
(9)文章の最終チェックをします。
(10)「グループメール投稿」のボタンを押します。
(11)スクリプトが実行されています。
(12)スクリプトが終了。
E(13)このGoogleSSを閉じます。
STEP3以降、GoogleSSの操作は、これと同じやり方になります。
つまり、「作業の標準化」です。アプリは違っても操作方法は同じ。作業方法を一つを覚えれば、電子メールも、LINEも、Push7も、ブログ投稿も、それで済んでしまう。
それでは次回STEP3は、LINEを使ったメッセージ配信をLINEアプリを触らずに外側から実行する方法を説明します。
以上。