【Google Apps Script (GAS)】メールを送信する方法

2019年8月27日Google Apps

Google Apps Scriptの利点はメール送信が簡単にできることだと思います。
Googleスプレッドシートの内容を集計して、必要な内容をメールで通知する、Googleフォームの投稿結果をメールで送信するなど利用場面は多くあると思います。

メールを送信する手順

スポンサーリンク

Google Apps Scriptのメール送信はGmailAppオブジェクトを使用します。

GmailApp.sendEmail(宛先, 件名, メール本文);

GmailAppオブジェクトのsendEmailメソッドに「宛先のメールアドレス」、「件名」と「本文」を設定することで送信できます。

実際のコード

メールの送信方法は下記の通りです。

function myFunction() {
    var to = "mike@example.com";       // 宛先
    var subject = "send mail test";    // 件名
    var body = "This is test."         // メール本文

    GmailApp.sendEmail(to, subject, body);
}

おまけ(CC、BCC などのオプション設定)

スポンサーリンク

sendMailにはオプションが設定できます。オプションを使うとメールの送信先にCCやBCCを設定することができます。

設定できるオプション

オプション名タイプ(設定する値の型)内容説明
attachmentsBlobSource[]電子メールで送信するファイルの配列。
bccStringBCCへの電子メールアドレスのコンマ区切りリスト。
ccStringCCへの電子メールアドレスのコンマ区切りリスト。
fromString電子メールの送信元アドレス。getAliases()によって返される値のいずれかである必要があります。
htmlBodyString設定されている場合、HTMLをレンダリングできるデバイスは、必要なbody引数の代わりにHTMLを使用します。
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含むJavaScriptオブジェクト。 これは、htmlBodyパラメーターが使用され、の形式でこれらの画像への参照が含まれていることを前提としています。
nameString電子メールの送信者の名前(デフォルト:ユーザーの名前)。
noReplyboolean受信者が電子メールに返信しないように、一般的な返信なしの電子メールアドレスから電子メールを送信する場合はtrue。 このオプションは、G Suiteアカウントでのみ使用でき、Gmailユーザーでは使用できません。
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト:ユーザーのメールアドレス)。

attachmentsとnameのオプションをつける例

var file = DriveApp.getFileById(ファイルID);
GmailApp.sendEmail(宛先, 件名, メール本文, {
     attachments: [file.getAs(MimeType.PDF)],
     name: 'Automatic Emailer Script'
 });

fromのオプションを設定する例

var me = Session.getActiveUser().getEmail();
var aliases = GmailApp.getAliases();
Logger.log(aliases);
if (aliases.length > 0) {
  GmailApp.sendEmail(me, 'From an alias', 'A message from an alias!', {'from': aliases[0]});
} else {
  GmailApp.sendEmail(me, 'No aliases found', 'You have no aliases.');
}

まとめ

Google Apps ScriptはGmailを使って簡単にメールが送信できるので、色々な場面で使用しています。

オプションはCC、BCCは使っていますが、そのほかのオプションは今回調べてみて知ることができました。

シンプルなのに奥が深い。

参考サイト:Googleの公式リファレンス