見出し画像

GAS Sample_スプレッドシートからメール送信

定期的に同じ(または似たような)メールを送る場合、スプレッドシートで管理すると便利です。
Google Apps Scriptではスプレッドシートからメール送信が可能です。


スプレッドシートに以下の内容をセットします。

セルB1_To
セルB2_Cc
セルB3_Bcc
セルB4_件名
セルB5_本文
※To/Cc/Bccが複数の場合はカンマ区切りで入力

画像3

スクリプトはこちら。

function sendMail(){
 
 //スプレッドシート、およびアクティブなシートを取得
 const ss    = SpreadsheetApp.getActiveSpreadsheet();
 const sheet = ss.getActiveSheet();
 
 //セルB1-B5から宛先(To/Cc/Bcc)、件名、本文を取得
 const recipient = sheet.getRange(1, 2).getValue();
 const cc        = sheet.getRange(2, 2).getValue();
 const bcc       = sheet.getRange(3, 2).getValue();
 const subject   = sheet.getRange(4, 2).getValue();
 const body      = sheet.getRange(5, 2).getValue();
 
 //  メール送信/下書き  
 GmailApp.sendEmail(recipient, subject, body, {cc:cc, bcc:bcc}); //送信  
 //  GmailApp.createDraft(recipient, subject, body, {cc:cc, bcc:bcc}); //下書き   
}

末尾にある、

GmailApp.sendEmail(recipient, subject, body, {cc:cc, bcc:bcc}); //送信

を生かしたままスクリプトを実行するとメール送信されますが、
慣れないうちは上記行をコメントアウトして、

GmailApp.createDraft(recipient, subject, body, {cc:cc, bcc:bcc}); //下書き

を生かし、「下書き」を実行し内容を確認から送信したほうがよいかと思います。

スクリプトを実行し、Gmailアプリに移動すると下記のようなメールが生成されます。

画像2


送りたいメールが複数ある場合には、シートを複製して運用できます。
ただしその際には、必ず実行したいシートを選択してからスクリプトを実行します。

※続きの記事を書きました


この記事が気に入ったらサポートをしてみませんか?