Class MailApp

メールアプリ

メールを送信します。

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

GmailApp を使用して作成されたスクリプトを変更すると、MailApp スクリプトよりもユーザーからの再承認リクエストが発生する可能性が高くなります。

メソッド

メソッド戻り値の型概要
getRemainingDailyQuota()Integer当日中にメールを送信できる受信者の数を返します。
sendEmail(message)voidメール メッセージを送信します。
sendEmail(recipient, subject, body)voidメール メッセージを送信します。
sendEmail(recipient, subject, body, options)void省略可能な引数を指定してメール メッセージを送信します。
sendEmail(to, replyTo, subject, body)voidメール メッセージを送信します。

詳細なドキュメント

getRemainingDailyQuota()

残りの日数にメールを送信できる受信者の数を返します。返される値は現在の実行に対して有効であり、実行ごとに異なる場合があります。

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

const 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() {
  const googleLogoUrl =
      'https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png';
  const youtubeLogoUrl =
      'https://developers.google.com/youtube/images/YouTube_logo_standard_white.png';
  const googleLogoBlob =
      UrlFetchApp.fetch(googleLogoUrl).getBlob().setName('googleLogoBlob');
  const 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 をレンダリングできるデバイスは、必須の body 引数の代わりにこれを使用します。メールに画像をインライン化している場合は、HTML 本文にオプションの inlineImages フィールドを追加できます。
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含む JavaScript オブジェクト。これは、htmlBody パラメータが使用され、これらの画像への参照が <img src="cid:imageKey" /> 形式で含まれていることを前提としています(例を参照)。
nameStringメールの送信者の名前。デフォルトは送信者のユーザー名です。
noReplyBooleantrue: 受信者がメールに返信しないように、一般的な返信不可のメールアドレスからメールを送信する場合。このオプションは、Gmail ユーザーではなく、Google Workspace アカウントでのみ使用できます。
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.
const file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
const 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 をレンダリングできるデバイスは、必須の body 引数の代わりにこれを使用します。メールに画像をインライン化している場合は、HTML 本文にオプションの inlineImages フィールドを追加できます。
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含む JavaScript オブジェクト。これは、htmlBody パラメータが使用され、これらの画像への参照が <img src="cid:imageKey" /> 形式で含まれていることを前提としています。
nameStringメールの送信者の名前(デフォルト: ユーザーの名前)
noReplyBooleantrue: 受信者がメールに返信しないように、一般的な返信不可のメールアドレスからメールを送信する場合。このオプションは、Gmail ユーザーではなく、Google Workspace アカウントでのみ使用できます。
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト: ユーザーのメールアドレス)

承認

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

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

関連情報


sendEmail(to, replyTo, subject, body)

メール メッセージを送信します。この方法では、送信者とは異なる、送信されたメッセージの Reply-To アドレスを簡単に指定できます。

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