業務の改善」または、「業務の効率化」を目指している方、こんにちは。

今回は、「Google Apps Script(GAS)」を使った業務の改善・効率化の事例紹介の第七弾です。

弊社は、協同組合様や運送事業者様向けにETCカードの管理・請求書・走行明細書発行システム「ETCクラウド」を提供していますが、システムだけでなく、運用業務のアウトソーシングもお受けしております

そのアウトソーシングでお受けしている運用業務の効率化、ミス削減のために行っている事例をご紹介させていただければと思います。

前回は、「特定のGmailをLINEに転送する」方法をご紹介しましたが、今回は、 「Google Apps Script(GAS)」 と「Gmail」「Googleスプレッドシート」「Goolgeドキュメント」の連携による「業務の改善・効率化」の事例をご紹介します。

業務で、既存客や見込み客に対して、メルマガ配信をしているという方は結構いらっしゃるかと思いますが、一般的なメルマガ配信を行うスタンドは有料なので、テストで簡単に始める場合、なかなか難しいということも多いでしょう。

Google Apps Script(GAS)」を使えば、Googleスプレッドシートにある宛先に対して、Goolgeドキュメントで作成した本文をGmailでメール送信するスクリプトを作ることができます。簡易的なメルマガ配信ですね。

弊社でも、業界ニュースを定期的にお客様にこのスクリプトを利用して配信しています。(私から定期的に業界ニュースを受け取っている方は、あれはこの仕組みで送信されているのか~とご想像していただけるかと思います)

スクリプトの作り方は以下が参考になります。

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

内容としては、Googleドキュメントで作成したメール本文に、Googleスプレッドシートの宛先リストの社名、宛先を差し込み、順次Gmailで送信するというものです。

Googleスプレッドシートに必要なのは、「社名」「担当者名」「メールアドレス」の3つだけですね。

Goolgeドキュメントでは、 {社名}、{担当者名} の2か所をそれぞれの送り先に合わせて差し込みをします。

このメルマガ配信スクリプトは、非常に便利なのですが、「送信回数」という落とし穴があります

送信回数は、Googleのアカウント種別によって決まっていて、送信回数を超えると「送信できるメールの制限数に達しました」というエラーが発生してメール送信ができなくなってしまいます

メールの送受信数に関する制限 – Gmail

Google Apps Script(GAS)」でのメール送信回数残の確認スクリプトは以下の通りです。

function myfunction(){mail_max = MailApp.getRemainingDailyQuota();  Logger.log(mail_max);}

スクリプトを実行すると、以下のように送信残が1500と表示されます。

ただし、Gmailにおいて一斉送信できる数は「1通のメールを500人まで」(*有料アカウントの場合)となっているため、弊社では、送信数が多い場合は、複数日に分けて配信したり、アカウントを分けて配信しています。

実際に利用しているスクリプトは、参考スクリプトをもとにしてChatGPTで添削したものを使っています。

今回のケースでは、1日あたりの送信数の残りをチェックし、

let remainingQuota = MailApp.getRemainingDailyQuota();

1日あたりの送信数残がなくなった場合はループを中断する処理を追加し、

if (remainingQuota <= 0) {Logger.log('Daily quota exceeded. Stopping the script.');break;}

ループ処理の最後に1日あたりの送信数の残りをアップデートする処理を入れたほうが良いとChatGPTから指摘されたのでその部分を追記して利用しています。

remainingQuota = MailApp.getRemainingDailyQuota();

うまく簡易メルマガ配信スクリプトを使えば、作業の効率化になるかと思います。参考になれば幸いです。