たったの38行!Google Apps Scriptで超簡易メルマガ配信システム

★気に入ったらシェアをお願いします!


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

引き続きGoogle Apps Scriptで簡単メールマガジンシステムを作成しています。

前回はこちらの記事。

Google Apps Scriptでスプレッドシートのリストをもとに宛名を差し込んだメール本文を作る
Google Apps Scriptで簡単メールマガジンシステムを作成しています。今回はスプレッドシートのリストをもとに、ドキュメントのメール本文内の社名、姓名などを差し込みして出力する方法です。

Googleドキュメントで作成したメール本文にスプレッドシートの宛先リストの社名、宛名を差し込む方法についてお伝えしました。

今回はいよいよ差し込みをしたメール本文を順次Gmailで送信する処理を追加して、Google Apps Scriptによる超簡易メルマガ配信システムを完成させます!

といってもすごく簡単で、全体としてはたったの38行のスクリプトで実現できます。

では、よろしくお願いします!

前回のおさらい:ドキュメント本文に差し込みをしてログ出力

では、まず前回のおさらいをしていきましょう。

まず宛先リストをスプレッドシートで作っていましてこちらです。

メルマガ配信リストのスプレッドシート

メール本文はドキュメントで作っていましてこちらです。

Googleドキュメントで作成したメール本文

{社名}、{姓}、{名}の3か所をそれぞれの送り先に合わせて差し込みをします。

スクリプトはこちらです。

スクリプトの流れとしては

  1. スプレッドシートを取得
  2. ドキュメントからメール本文をstrDocに取得
  3. スプレッドシートの各レコードについて
    1. 社名、姓、名をstrDocに差し込んでstrBodyを作成
    2. strBodyをログ出力

となります。

今回は3-2の部分以降をGmailで送信するという内容に変更していけばOKということですね。

スプレッドシートのアドレス宛にGmailでメールを送る

Google Apps Scriptを使ってGmailでメールを送る方法はこちらの記事でお伝えしています。

初心者でも簡単!Google Apps ScriptでGmailを操作してメールを送る方法
Google Apps Scriptでメールマガジンを送るシステムを作りたいと思います。シリーズ初回の今回は、Google Apps ScriptでGmailを操作してメールを送る方法です。

GmailApp.sendEmailメソッドを使います。引数として

  • toアドレス
  • 表題
  • 本文
  • from:fromアドレス(任意)
  • name:差出人名(任意)

が必要でした。fromアドレスとnameはなくても良いのですが、メルマガとしてはあるべきなので設定することにします。

表題、fromアドレス、差出人名を準備

表題、fromアドレス、差出人名については、各レコードに依存せずに固定の値なのでfor文の外で指定をしておきます。

メールアドレスを取得してメールを送信

各レコードのtoアドレスはD列に記載されていますので

で取得します。

これでGmailで送信するための引数はすべて揃いましたのであとは送るだけ。

これでOKなはずです。

メルマガ配信の実行結果

実行をしてみますと

GoogleAppsScriptによるメルマガ配信結果

無事にメールが送られていますね。ちゃんと、社名や宛名の姓名などの差し替えもきいていますね。

現在は2件だけですが、件数が多くなった場合はとってもメール送信が楽になります。

ただ、Google Apps Scriptの仕様上、一般ユーザーの場合は1日の最大メール配信数が100通という制限がありますので、スプレッドリストに100件を超える宛先がある場合は数日にわけて配信する必要があります。(Businessユーザーなら1,500通まで)

その点は次回以降、解決をしていければと思います。

まとめ

以上、Google Apps Scriptで超簡易メールマガジンシステムを作成しました。

スクリプトはこちらです。

ドキュメントやスプレッドシートの準備は必要ですが、とってもシンプルなスクリプトで各種Google Appsを操作そして連携できますね。

さすが、Google Apps Script!

なお、GmailにGoogleドライブからファイルを添付する方法もありますので、ご参考ください。

ファイル添付したメールを自動で送るには?実はGoogle Apps Scriptで簡単にできるんです!
GmailとGoole Driveを利用して、Google Apps Scriptでファイル添付付きのメールを送信する方法をお伝えします。定期的なレポートの自動送付など活用できる場面の多いテクニックですので、覚えておいて損はないはずです。

次回は少し角度を変えまして、配信リストを作るべく名刺管理アプリのデータをスプレッドシートに取り込む方法についてお伝えします。

名刺管理アプリCAMCARDの連絡先リストをスプレッドシートに取り込む
名刺管理アプリのデータを上手に使うとメルマガ宛先リストが簡単に作成・更新できます。今回は名刺管理アプリのCAMCARDの紹介と連絡先リストをエクセル形式で出力しスプレッドシートへ取り込む方法を伝えします。

どうぞお楽しみに!

連載目次:Google Apps Scriptでメルマガシステムを作っちゃおう!

Google Apps ScriptでGmail、スプレッドシート、ドキュメントを連携させて操作することでメルマガシステムが簡単に実現できます。思ったより2割くらい簡単にできますよ。ちなみに無料です…さすがGoogle。
  1. 初心者でも簡単!Google Apps ScriptでGmailを操作してメールを送る方法
  2. 初心者でも簡単!Google Apps Scriptでドキュメントを取得して表示する方法
  3. Google Apps Scriptでスプレッドシートのリストをもとに宛名を差し込んだメール本文を作る
  4. たったの38行!Google Apps Scriptで超簡易メルマガ配信システム
  5. 名刺管理アプリCAMCARDの連絡先リストをスプレッドシートに取り込む
  6. 【GAS】名刺管理アプリの出力データを活用してメルマガ配信リストを自動更新する
  7. Google Apps Scriptのスプレッドシート読み書きを格段に高速化をする方法
  8. Google Apps Scriptのメルマガ配信リスト自動更新スクリプトを高速化する
  9. Google Apps Scriptでスプレッドシートに独自のメニューを追加する方法

コメント

  1. 阪村勝彦 より:

    たったの38行!Google Apps Scriptで超簡易メルマガ配信システム
    こちらの記事を拝見しました。そこで1つ教えてください。
    差し込みメールにて、ccも個々のアドレスを差し込みたいです。
    そして添付ドキュメントも送付したいです。ドキュメントは1つのみ、同一のドキュメントを一斉送付したいのですが、掲載のスクリプトに何をどう追記すればいいのか分かりません。大変お手数を掛けますが、教えてください。

  2. 鈴木亮太 より:

    高橋様
    こちらの記事とても参考になり、今月の頭から実際にscriptを使ったメール配信を
    開始することが出来ました。ありがとうございます!
    G-suiteで有償アカウントを取得しているのですが、1日の送信上限が100件のままです。
    何か回避する術はありませんでしょうか?
    googleに問い合わせしてもscriptはサポート対象外と言われ、非常に困っております。

    • 鈴木さん、ご覧いただきましてありがとうございます。

      メール送信数の上限についてですが、もし仕様期間の場合、または使用期間後すぐでアカウント数が少ないのでしたら、以下条件に引っかかっている可能性があります。

      無料試用を終了して上限をアップグレードする
      試用アカウントに対しては固有の制限事項が設けられています。無料試用期間が終了し、ドメインに対する請求額が累計 30 米ドル(またはご利用通貨での同等額)に達すると、上限が自動的にアップグレードされます。

      試用期間が終わっていれば、手動で一定の支払を前払いすれば上限がアップグレードされるようです。

      https://support.google.com/a/answer/166852

      以上、ご確認いただければ幸いです。

      • 鈴木亮太 より:

        高橋様

        お礼が遅くなり申し訳ありません。事前支払いで合計30米$以上を払った結果、
        上限の解除ができました。本当に助かりました。
        今後共、勉強させていただきます。

  3. 尾中たけお より:

    タカハシノリアキ 様
    お世話になります。
    このスクリプト、非常に便利です!
    さっそくですが、質問させてください!
    メーリスのあたまに{社名} {姓} {名} を入れることは成功したのですが、文中に
     「{姓}さんもお体に気を付けて~」といった文章を入れたいときには、どのようなスクリプトを組めばよろしいでしょうか。
    また、別のかたも質問をされていたようですがPDFファイルを添付する方法がありましたら、合わせて教えて頂けると幸いです。
    お忙しいところ恐縮ですが、ご教示くださいますようお願い申し上げます。

    • 尾中たけおさん

      コメントありがとうございます!

      メーリスのあたまに{社名} {姓} {名} を入れることは成功したのですが、文中に
       「{姓}さんもお体に気を付けて~」といった文章を入れたいときには、どのようなスクリプトを組めばよろしいでしょうか。

      おそらく、スクリプトは変更する必要はないかと思います。
      そのままの文言「{姓}さんもお体に気を付けて~」をドキュメント内に記載頂ければ、その箇所も置換されると思います。

      試してみて頂ければ嬉しいです!

  4. 尾中たけお より:

    タカハシノリアキ 様
    お返事ありがとうございました。
    いろいろと試してみましたが反映されませんでした。

    何がダメなのか・・・。

    また、PDFかJPGの添付方法もお分かりでしたらよろしくお願い申し上げます。

  5. 渡辺 より:

    送り先がエラーだとその場で止まってしまうのですが
    エラー処理はどうしたらいいでしょうか。