Google Apps Scriptで、スプレッドシートからメール送信

メールを送信するのは結構めんどう。

 

普段やりとりはSlackにしているから、でもあるが

タイトル( Subject )と本文( Body )、それも宛名や

手紙調(でもないがSNSでは使わない表現)を書くのを

ほんとーに省略したい。

 

そこで、必要な項目をスプレッドシートに書いておき、

ボタンクリックで送信できれば、ちょっとマシになる。

 

というわけで、GAS( Google Apps Script )、行ってみよう。

 

 

書く分にはJavaScriptだが、ブラウザで動作するのでも、

サーバで動作するのでもない。

 

クラウドで実行されるので、パソコンやアプリを意識せず、

Googleサービスを操ることを考えればOK。

 

 

スプレッドシートに書いてある項目を取り出して、

メールサービスに送ってもらう。

 

 

まず、スプレッドシートでワークシートを取得する

 

const ss = SpreadsheetApp.getActiveSpreadsheet();

const sheet = ss.getSheetByName( 'SendMail' );

 

次に、データを取得する。

2行目( A2〜C2セル )に「宛先」「タイトル」「本文」があるとする。

 

const recipient = sheet.getRange( 2, 1 ).getValue();

const subject = sheet.getRange( 2, 2 ).getValue();

const body = sheet.getRange( 2, 3 ).getValue();

 

取得したデータを使って、メールを送信する。

 

MailApp.sendEmail( recipient, subject, body );

 

と、これで送信できる。

 

 

スプレッドシートから「ツール」メニューの「スクリプトエディタ」

を選択してエディタを表示させると、スプレッドシートに紐づいているから

ファイルのpathを指定してファイルを開く、という操作は必要ない。

 

ワークシートを「シート名」で特定して、セルを操作して、

メールに渡して送信。

 

必要なことだけ考えればコードが書けるのは、ありがたい。

もしかして、学生にコードを書かせるのに、GASが一番向いてたりして?

 

検討してみよう。