これで解決!GASでメール送信の上限とエラーを克服する方法
GASでたくさんのメールを送信したかったんだけど、「上限」に引っかかっちゃって…どうしたらいいんだろう。困ったなぁ。

猫男

catman
ふふっ、その問題ならcatmanに任せろ!GASでのメール送信の上限とエラーを回避する方法を教えてやるさ。
GASでのメール送信とその上限
GASを使ってメールを送信するには便利だが、Googleのガイドラインに従って1日に送信可能なメール数に上限があるんだ。例えば、個人アカウントなら100件、Google Workspaceアカウントなら1500件までだ。この上限を超えるとエラーが発生し、メール送信できなくなる。
エラーを回避する方法
- スケジュールを分散する:送信時間を分散させ、1日あたりの送信数が少なくなるようにうまくトリガーを設定する。
- アカウントを分ける:複数のGoogleアカウントを使って、メール送信作業を分散させる。
- メールリストを分割:リストをいくつかのグループに分けて、日にちをずらして送信する。
あ、そうか!トリガーを使って送信時間を分けるって考え方もあるんだね。それなら、GASのトリガー設定で実現可能だ…!

猫男
GASトリガーでメール送信を管理する
トリガーはGASのスクリプトを自動的に実行してくれる便利な機能だ。メール送信トリガーを設定することで、例えば毎日決まった時間に送信したり、特定の曜日に送信することができる。
トリガースクリプトの例
function scheduleEmail() {
var emailAddress = "someone@example.com";
var subject = "Scheduled Email";
var message = "このメールはスケジュールされて送信されています。";
GmailApp.sendEmail(emailAddress, subject, message);
}
✅ GmailApp.sendEmail()を使って、メールを送信するスクリプトだ。この関数をトリガーで定期的に実行する設定が可能だ。

catman
トリガーはGASエディタの時計マークから簡単に設定できる。設定画面でこの四角い小さな窓をクリックするんだ。
GASを使ったメール送信の高度なテクニック
メール送信の際に、送信元をnoreplyに設定したい場合もあるはずだ。
noreplyアドレスを設定する
実は、GASでは直接noreplyとしてメールを送信することはできないんだ。しかし、例えば「noreply@example.com」のようなメールを追加設定し、G Suiteの場合、管理者がそのアドレスを送信できるようにすることで実現できる。
複数のメールアドレスをCCに入れる方法
function sendEmailWithCC() {
var emailAddress = "primary@example.com";
var ccAddresses = "cc1@example.com, cc2@example.com";
var subject = "CCでのメール送信";
var message = "このメールは複数のCCアドレスに送信されています。";
GmailApp.sendEmail(emailAddress, subject, message, {cc: ccAddresses});
}
✅ ccプロパティを使って、一度に複数のメールアドレスを指定できる。カンマで分けるだけだ。
今まで知らなかったなぁ…これで一度に複数の人に情報を届けられるね。

猫男
練習問題:GASで添付ファイル付きメールを送信しよう
ファイルIDを使用して、GASを使ったメールに添付ファイルをつけ、送信するスクリプトを書きなさい。
解答・解説
function sendEmailWithAttachment() {
var emailAddress = "recipient@example.com";
var subject = "添付ファイル付きのメール";
var message = "このメールにはファイルが添付されています。";
var fileId = "FILE_ID_HERE"; // 実際のファイルIDを記入する
var file = DriveApp.getFileById(fileId);
GmailApp.sendEmail(emailAddress, subject, message, {
attachments: [file.getAs(MimeType.PDF)]
});
}
DriveApp.getFileById(fileId): Googleドライブ内のファイルを取得するためのメソッド。file.getAs(MimeType.PDF): ファイルを指定したフォーマット(ここではPDF)で取得し、添付ファイルとしてメールに添付する。

catman
この方法を使えば、メールに添付ファイルをつけて送る事も簡単にできる。活用してみろよ!