GASでメール送信を自動化しよう!
今回はGAS(Google App Script)を使った自動化の中でも、おそらく使用頻度が高いであろうメール送信の自動化について説明していきます。
スプレッドシートの準備
GASを利用するための準備として、まずはスプレッドシートを新規作成します。
スプレッドシートを準備したら、下記のようにスプレッドシートを編集します。
- シート名を「メール」に変更
- B1セルに宛先のメールアドレスを記載(宛先が複数の場合はカンマ区切りで記載する)
- B2セルにメールの件名を記載
- B3セルにメールの本文を記載(HTML形式で記載することも可能です。)
スプレッドシートに記載の内容は例えば下記のようになります。
コーディング
続いてGASのコーディングを行います。
「拡張機能」タブから「App Script」を選択し、エディタを開きます。
メール送信のソースは下記の通りです。
function myFunction() {
// 変数の宣言
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("メール");
const mailTo = sheet.getRange("B1").getValue();
const mailTitle = sheet.getRange("B2").getValue();
const mailBody = sheet.getRange("B3").getValue();
// メール送信
MailApp.sendEmail({
to: mailTo,
subject: mailTitle,
htmlBody: mailBody
})
}
上記のプログラムを作成後、実行ボタンをクリックすることでB1, B2, B3セルの内容を読み取り、その内容をもとにメールを送信する事ができます。
トリガーの設定
ここまででプログラム自体は作成できましたが、このままでは自動で送信するということはできません。そこでこの後にトリガーの設定を行うことで定時にメールを自動で送信できるようになります。
トリガーを設定するためにはエディタ画面で時計マークをクリックします。するとトリガーの設定画面になります。
トリガー画面になったら「トリガーを追加」ボタンをクリックします。今回は1日1回メールを送信する場合を想定してトリガーを作成します。
- 実行する関数:先程作成した関数(myFunction)
- 実行するデプロイ:Head
- イベントのソース:時間主導型
- 時間ベースのトリガーのタイプ:日付ベースのタイマー(実行したい間隔に変更してください)
- 時刻:メールを送信したい時刻
上記のようにトリガーを作成することで決まった日時にメールを自動で送信できるようになります。
終わりに
以上でメール送信の自動化は終了となります。
社内でメールを自動送信したいということが多々あると思うので、ぜひお試しいただければと思います。ちなみに上記のれいですと時刻は1:00~2:00のようにある1時間の中のどこかで実行されるため、毎日同じ時刻に届くとは限りません。トリガーの設定を工夫することで定時に実行するようなことも可能ですので、きっちり時間を指定する必要がある場合には別途調べてみてください。
コメント