Google Apps Scriptを使ってGmailでメルマガみたいに一斉送信する方法

この記事ではGoogle Apps Script(通称GAS)を使ってGmailからメルマガのように一斉送信する方法について紹介していきます。有料のメルマガスタンドを使う必要もなく簡単に設定できるので導入を考えている方はぜひ試してみてください。

ただし、この記事はある程度GASを触ったことがある方向けの記事になります。調べればすぐにわかることは省略している箇所もありますのでご了承ください。また、そのままコピペしていただいてもOKです。それではGoogle Apps Scriptを使ってGmailで一斉送信する方法を紹介します。

Google Apps Scriptを使ってGmailでメルマガみたいに一斉送信する方法

用意するものはGoogleスプレッドシートとGoogleドキュメントです。まずはスプレッドシートを開きます。ここでは以下のように設定しますが、任意で変更してください。

タイトル:メール一斉送信リスト
A列:会社名
B列:姓
C列:名
D列:アドレス

2行目以降は宛先の情報を入力します。

リストができたらスクリプトエディタを起動します。「ツール」<「スクリプトエディタ」でGoogle Apps Scriptを開けて、以下のように入力します。

ソースコードはこちらです。そのままコピー可能です。

  1. function sendMail(){
  2.   const sheet = SpreadsheetApp.getActiveSheet();
  3.   const lastRow = 100;
  4.   sheet.getLastRow();
  5.   const values = sheet.getRange(1, 1, lastRow, 4).getValues();
  6.   const doc = DocumentApp.openById(‘ドキュメントIDを入力’);
  7.   const docText = doc.getBody().getText();
  8.   const subject = ‘メール一斉送信テスト’; //メールの件名
  9.   const senderName = {name: ‘ぐーぐるたろう’}; //差出人名
  10.   for(let i = 1; i < lastRow; i++){
  11.     const company = values[i][0]; //会社名
  12.     const lastName = values[i][1]; //姓
  13.     const firstName = values[i][2]; //名
  14.     const mailAddress = values[i][3]; //アドレス
  15.     const body = docText
  16.       .replace(‘{会社名}’,company)
  17.       .replace(‘{姓}’,lastName)
  18.       .replace(‘{名}’,firstName);
  19.     GmailApp.sendEmail(mailAddress, subject, body, senderName);
  20.   }
  21. }

 

こちらを参考にしています。→ https://tonari-it.com/gas-speeding-up/

「メールの件名」「差出人名」は任意で変更してください。関数名や変数も任意で変更してください。ソースコードが書けたら保存しておきます。このとき、「許可の確認」が求められたらサクッと許可しておきましょう。

また、ソースコード内にドキュメントIDと書いているので次はドキュメントを作成してきます。このドキュメント作成はメールの本文に該当しますので、必ず必要な手順です。ではGoogleドキュメントを開きましょう。

ドキュメントを開けたら、以下のように作成していきます。

ドキュメントのタイトル名はメールの件名と合わせておくとわかりやすいと思います。会社名、姓、名を入力する場合は「{}(波カッコ)」で括ります。文章の形式は自由ですが、ビジネスメールの場合は上記のように設定すると良いでしょう。

メールの本文を作成し終えたら、このGoogleドキュメントをGoogle Apps Scriptに紐付けます。紐付けるといっても簡単です。ドキュメントのURL内にあるIDをスクリプトエディタに記述するだけです。

 

  1.   const doc = DocumentApp.openById(‘ドキュメントIDを入力’);

 

この部分ですね。今回はopenById()を使用していますが、openByUrl()でもOKです。筆者はできるだけコードを短くしたいのでURLではなくIDを使用しています。

ドキュメントのIDの入力が完了し、他の任意で設定する箇所も入力が完了したら、実際にメールが一斉に送信されるかテストしてみましょう。

Google Apps Scriptのスクリプトエディタから、▶で実行をしてみます。これで無事に届くはずです。筆者の場合はGmail2つとさくらメールに一斉送信してみましたがこんな感じで届きましたので一応貼っておきます。


これでリストが増えても一斉送信が可能です。以上がGoogle Apps Scriptを使ってGmailでメルマガみたいに一斉送信する方法でした。ただし、Google Apps Scriptを使ってGmailでメールを一斉送信するには制限があります。

Google Apps Script使ってGmailでメールを送信するには制約がある?

Googleアカウントを無料版で使っている場合は1日に送信できる配信数が決まっていて100通のみになります。合計で100通なので、リストが25人いる場合は4回配信可能です。50人なら2回、100人なら1回だけです。リストが100人を超えるようであれば、数日にわけて配信する必要がでてくるので注意してください。無料アカウントなので仕方がありませんよね。G Suiteに登録している場合は1日1500通まで配信可能です。リストの数や配信数に応じて検討してみてください。

まとめ

Google Apps Scriptを使えば、意外と簡単にやりたいことが実現できます。一斉送信はメルマガのように使うこともできますし、社内報として利用することもできます。他にもGmailの未読を既読にしたり、自動で削除したりすることも可能です。Gmailで受信した特定のメールをLINEに通知することも可能です。

Google Apps Scriptは自分の「やりたい」を実現できるツールなのでいろんな「やりたい」を実現してみてください。筆者もGoogle Apps Scriptを駆使して極めていきたいと思います。この記事が少しでもお役に立てれば幸いです。