image

【GAS】Gmailを送る(プレーンテキスト編)

GAS(Google Apps Script)の案件を手掛ける上でよく使い回す処理をファンクション化してみました。
コピーしてそのまま使うこともできますし、一部カスタマイズして使ってください。

「複数のサイトを横断的に見ないと答えにたどり着かない。。。」
そんな思いにこたえることができれば幸いです!

さて、今回は「Gmailを送る(プレーンテキスト編)」処理の紹介です。
HTML編は後日紹介させて頂きます。

処理概要

プレーンテキスト形式のGmailを送信する

  • スクリプトを実行したGoogleアカウントからのメールとして送信されます
  • GASでのメール送信には上限があり、100件/日となります
    (フリーアカウントの場合)
    (送信先の件数でカウントし、日本時間の17:00にリセットされる)

【引数】
 recipient : 送信先のアドレス(必須)
 subject : メールのタイトル(必須)
 body : メールの本文(必須)
 name : 送信者として表示される名前(任意)
 attachment : 添付ファイル(任意:blob形式で渡す必要がある)
【返り値】
 なし

ファンクション

function sendGmailPlain(recipient, subject, body, name, attachment) {
  let opt = {};
  if (!!name) {
    opt['name'] = name;
  }
  if (!!attachment) {
    opt['attachments'] = attachment;
  }
  if (!!opt) {
    GmailApp.sendEmail(recipient, subject, body, opt);
  } else {
    GmailApp.sendEmail(recipient, subject, body);
  }
}

内部処理の説明

基本的にはGmailの送信は「GmailApp.sendEmail(送信先アドレス, タイトル, 本文)」で送ることができます。
これ自体はとても簡単なので、わざわざ関数化する必要のありませんが、今回は「送信者の名前」と「添付ファイル」を
引数として渡すことで送れるようにしています。

「送信者の名前」や「添付ファイル」はオプションとして連想配列でsendEmailに渡す必要があります。
そこで、optという連想配列の変数を用意します。
連想配列であるoptに
nameをキーとして「送信者の名前」
attachmentをキーとして「添付ファイル」
を設定します。
連想配列に設定可能なオプションに関しては公式のリファレンスを参照してください。

最後にoptに何か設定されているかどうかでoptを引数として渡すかどうかを決めています。

まとめ

今回は「Gmailを送る(プレーンテキスト編)」処理について紹介しました。

Google Apps Script は無料枠でも十分に使えとても便利です。
OSに依存せずに使えることから様々な環境で自動化・省力化してスローライフを楽しみましょう!