メールしたい(MailApp

MailApp.sendEmail("メッセージオブジェクト");
MailApp.sendEmail("宛先", "件名", "本文");
MailApp.sendEmail("宛先", "件名", "本文", "オプション");

GASからメールするにはMailAppを使う方法 GmailAppを使う方法の2通りあります。

メールを送るだけならMailAppシンプルかつ十分です。 メールボックス全体をあれこれしたい場合はGmailAppを使います。

ドキュメントから本文を読み込んでメールしたい

function send_mail(mailTo, docId) {
    // mailTo = 宛先アドレス
    // docId = GoogleドキュメントのID

    const doc = DocumentApp.openById(docId);
    const mailTitle = doc.getName();
    const mailBody = doc.getBody().getText();
    const mailOption = {
        name: "送信元の名前",
        cc: "CCの宛先",
        bcc: "BCCの宛先",
        }
    MailApp.sendEmail(mailTo, mailTitle, mailBody, mailOption);
}

Googleドキュメントと連携してメールを送信できます。 sendEmail("宛先", "件名", "本文")を使うのが一番理解しやすいと思います。 ドキュメントのタイトルをメールの件名にし、内容をメールの本文として読み込んでいます。 メールの宛先(to / cc / bcc)は,(カンマ)で区切って複数指定できます。 オプションでnameを定義すると、メールの送信元の名前を設定できます。

スプレッドシートからデータを読み込んでメールしたい

function send_mail(mailTo, sheetId, sheetName) {
    // mailTo = 宛先のアドレス
    // sheetId = GoogleプレッドシートのID
    // sheetName = シートの名前

    const sheet = SpreadsheetApp.openById(sheedId).getSheetByName(sheetName);
    const data = sheet.getDataRange().getValues();
    const mailTitle = sheet.getName();
    const mailBody = // dataをなんとかして文字列に変換する
    MailApp.sendEmail(mailTo, mailTitle, mailBody);
}

Googleスプレッドシートと連携することもできます。 シートの内容をメールで送信する場合を考えてみました。

メールの残り回数をしりたい

const quota = MailApp.getRemainingDailyQuote();
Logger.info("残り回数 = " + quota);

GASで送信できる1日のメール回数には制限あります。 getRemainingDailyQuotaを使って残り回数を取得できます。 デバッグ中はconsole.logLogger.infoを使って確認しながら作業するとよいでしょう。

下書きを作成してからメールしたい

const draft = GmailApp.createDraft("宛先", "件名", "本文", "オプション")
Logger.info("draft = " + draft)
// メールを送信する
// draft.send();

GmailApp.createDraftでメールの下書きが作成できます。 この段階ではまだメールが送信されないので、デバッグ作業に重宝します。 メールを送りたいときはsend()します。