【初心者向けのGAS】Google Apps Scriptでメールを送信する方法【メルマガ機能に応用可】

よこのじ(@yokonoji_work)です。

Google Apps Script(GAS)で「Google Apps Scriptでメールを送信する方法」をご紹介します。

メール送信を覚えれば、Google Apps Script(GAS)が実行した処理の結果をメールに通知したり、スプレッドシートと組み合わせてメルマガシステムを作ることが可能です。

それでは、実装方法を見てみましょう。

Google Apps Scriptでメールを送信する方法

メールを送信するには、sendEmailメソッドを使用します。これはMailAppクラスで用意されているメソッドになります。

MailApp.sendEmail("[email protected]", "件名", "本文");

このように、宛先のメールアドレス、件名、本文を指定してあげるだけでメールを送信することができます。とても簡単ですね。

gmailだけでなく、hotmailやicloudのメールアドレスへの送信ももちろん可能です。

複数の宛先を指定したい場合は、次のように記述します。

// 配列を使用する場合
to_lists = ["[email protected]", "[email protected]"];
MailApp.sendEmail(to_lists, "件名", "本文");

// カンマ区切りを使用する場合
to_lists = "[email protected], [email protected]";
MailApp.sendEmail(to_lists, "件名", "本文");

複数のメールアドレスに送信できるのは良いのですが、GASを使ったメール送信には1日あたりの送信数に制限がありますので、注意が必要です。

Quotas for Google Services」にあるように、通常のアカウントの場合は100通までとなります。Gsuite Basic以上の場合は1500通です。

ここでの1通とは、宛先の数になります。例えば、上記のように2つのメールアドレスを配列で指定して送信した場合は2通を送信ことになります。同じ内容を続けて送っても、再度2通送信したことになります。

なお、次のようにgetRemainingDailyQuotaメソッドを使って残りの送信可能数を確認することができます。

var emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log(emailQuotaRemaining);

GASのメール送信オプション

上記の使用方法では、用途によっては不都合があるかと思います。

例えば、メルマガ読者にメールを送信する場合、複数のアドレスに一斉送信する場合はbccを利用すべきですし、返信先はアカウントのgmailではなくて他のメールアドレスを指定したい場合もあるかと思います。

そんなときは、オプションを利用してください。

  • to, cc, bcc・・・送信先メールアドレス
  • name・・・送信者名の指定(デフォルトはユーザー名)
  • replyTo・・・返信先アドレスを指定する(デフォルトはGAS利用アカウントのメールアドレス)
  • subject・・・件名
  • body・・・本文
  • htmlBody・・・htmlタグで装飾した内容を送信できる。デバイスがhtml表示に対応していない場合はbodyで指定した内容が表示される。
  • inlineImages・・・htmlBodyを利用する場合に、本文に画像を埋め込むことができる。
  • attachments・・・メールに添付するファイルを指定する。
  • noReply・・・受信者が返信をできないようにno-replyアドレスから送信する。Gsuiteアカウントでのみ利用可能。

例えば、このように記述することができます。

MailApp.sendEmail({
    bcc: "[email protected], [email protected]",
    name: "よこのじ",
    subject: "メールの件名",
    body: "本文\nこれは本文です",
    htmlBody: "<b>本文</b><br>これは本文です",
    replyTo: "[email protected]",
});

この例では、bccに2つのメールアドレスを指定し、差出人には「よこのじ」を指定しています。また、htmlを利用して本文を太字にしています。このメールはgmailから送信したものですが、返信する場合は「[email protected]」が返信先のアドレスとなります。

GASからのメール送信内容

ここまでの内容でメール送信できるようになりましたので、「【初心者向けのGAS】スプレッドシートの範囲指定したセルから値を取得する方法」を参考にスプレッドシートで管理しているメールアドレスを取得するなどすれば、簡易的なメルマガシステムとして利用できそうですね。

 

Google Apps Script(GAS)はちょっとした簡易システムを素早く作るのには適していますね!