Class MailApp

MailApp

メールを送信します。

このサービスを使用すると、ユーザーはメールを送信する際に、メールの内容を完全に制御できます。 GmailApp とは異なり、MailApp はメールの送信のみを目的としています。MailApp がユーザーの Gmail 受信トレイにアクセスできません。

GmailApp を使用して記述されたスクリプトに変更を加えると、MailApp スクリプトよりも、ユーザーからの再認証リクエストがトリガーされる可能性が高くなります。

Methods

メソッド戻り値の型概要
getRemainingDailyQuota()Integerその日の残りの期間、メールを送信できる宛先の数を返します。
sendEmail(message)voidメール メッセージを送信します。
sendEmail(recipient, subject, body)voidメール メッセージを送信します。
sendEmail(recipient, subject, body, options)voidオプションの引数を指定してメール メッセージを送信します。
sendEmail(to, replyTo, subject, body)voidメール メッセージを送信します。

詳細なドキュメント

getRemainingDailyQuota()

その日の残りの期間、メールを送信できる宛先の数を返します。戻り値は現在の実行に対して有効であり、実行によって異なる場合があります。

割り当てはメールの受信者の数に基づいて決まります。具体的な割り当て情報については、Google サービスの割り当てをご覧ください。

var emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log("Remaining email quota: " + emailQuotaRemaining);

リターン

Integer - スクリプトで送信できる残りのメールの数。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(message)

メール メッセージを送信します。このメソッドははるかに柔軟性が高く、多くのオプションを使用できます。

// This code fetches the Google and YouTube logos, inlines them in an email
// and sends the email
function inlineImage() {
  var googleLogoUrl = "https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png";
  var youtubeLogoUrl =
        "https://developers.google.com/youtube/images/YouTube_logo_standard_white.png";
  var googleLogoBlob = UrlFetchApp
                         .fetch(googleLogoUrl)
                         .getBlob()
                         .setName("googleLogoBlob");
  var youtubeLogoBlob = UrlFetchApp
                          .fetch(youtubeLogoUrl)
                          .getBlob()
                          .setName("youtubeLogoBlob");
  MailApp.sendEmail({
    to: "recipient@example.com",
    subject: "Logos",
    htmlBody: "inline Google Logo<img src='cid:googleLogo'> images! <br>" +
              "inline YouTube Logo <img src='cid:youtubeLogo'>",
    inlineImages:
      {
        googleLogo: googleLogoBlob,
        youtubeLogo: youtubeLogoBlob
      }
  });
}

パラメータ

名前説明
messageObjectメール メッセージを表す JavaScript オブジェクト

拡張パラメータ

名前説明
attachmentsBlobSource[]メールと一緒に送信するファイルの配列
bccStringBcc で送信するメールアドレスのカンマ区切りのリスト
bodyStringメールの本文
ccStringCc に含めるメールアドレスのカンマ区切りのリスト
htmlBodyString設定すると、HTML をレンダリングできるデバイスは、必須の本文引数の代わりにそれを使用します。メール用にインライン画像を用意する場合は、HTML 本文にオプションの inlineImages フィールドを追加できます。
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含む JavaScript オブジェクト。htmlBody パラメータが使用され、<img src="cid:imageKey" /> 形式でこれらの画像への参照が格納されていることを前提としています(例を参照)。
nameStringメールの送信者名。デフォルトは送信者のユーザー名です。
noReplyBooleantrue: 受信者がメールに返信しないよう、一般的な返信不可のメールアドレスからメールを送信する必要がある場合。このオプションは Google Workspace アカウントでのみ使用できます。Gmail ユーザーでは使用できません。
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト: ユーザーのメールアドレス)。noReplytrue に設定されている場合、replyTo は無視されます。
subjectStringメールの件名
toString受信者のメールアドレス、または受信者のメールアドレスのカンマ区切りのリスト

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/script.send_mail

関連ドキュメント


sendEmail(recipient, subject, body)

メール メッセージを送信します。

MailApp.sendEmail("recipient@example.com",
                  "TPS reports",
                  "Where are the TPS reports?");

パラメータ

名前説明
recipientString受信者のアドレスをカンマで区切って
subjectString件名
bodyStringメールの本文

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(recipient, subject, body, options)

オプションの引数を指定してメール メッセージを送信します。

// Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html');
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
    name: 'Automatic Emailer Script',
    attachments: [file.getAs(MimeType.PDF), blob]
});

パラメータ

名前説明
recipientString受信者のアドレスをカンマで区切って
subjectString件名
bodyStringメールの本文
optionsObject詳細パラメータを指定する JavaScript オブジェクト(下記を参照)

拡張パラメータ

名前説明
attachmentsBlobSource[]メールとともに送信するファイルの配列(例を参照)
bccStringBcc で送信するメールアドレスのカンマ区切りのリスト
ccStringCc に含めるメールアドレスのカンマ区切りのリスト
htmlBodyString設定すると、HTML をレンダリングできるデバイスは、必須の本文引数の代わりにそれを使用します。メール用にインライン画像を用意する場合は、HTML 本文にオプションの inlineImages フィールドを追加できます。
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含む JavaScript オブジェクト。これは、htmlBody パラメータが使用され、<img src="cid:imageKey" /> 形式でこれらの画像への参照が含まれていることを前提としています。
nameStringメールの送信者の名前(デフォルト: ユーザー名)
noReplyBooleantrue: 受信者がメールに返信しないよう、一般的な返信不可のメールアドレスからメールを送信する必要がある場合。このオプションは Google Workspace アカウントでのみ使用できます。Gmail ユーザーでは使用できません。
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト: ユーザーのメールアドレス)

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/script.send_mail

関連ドキュメント


sendEmail(to, replyTo, subject, body)

メール メッセージを送信します。この方法では、ユーザーは送信したメッセージの返信先アドレス(送信者と異なるアドレス)を簡単に指定できます。

MailApp.sendEmail("recipient@example.com",
                  "replies@example.com",
                  "TPS report status",
                  "What is the status of those TPS reports?");

パラメータ

名前説明
toString受信者のアドレスをカンマで区切って
replyToString返信先アドレス
subjectString件名
bodyString書式なしテキストでメールの本文を

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/script.send_mail