【Googleスプレッドシート】Gmailの本文を自動メール送信!MailAppとシートデータ連携

【Googleスプレッドシート】Gmailの本文を自動メール送信!MailAppとシートデータ連携
🛡️ 超解決

スプレッドシートのデータを利用してGmailから自動でメールを送信したいとお考えではありませんか。例えば、請求書の送付やイベントの案内などを毎回手作業で行うのは手間がかかります。Google Apps ScriptのMailAppを使えば、シートに記録した宛先や本文を読み込んで一括送信が可能です。この記事では、MailAppとシートデータを連携して自動メール送信を実現する方法を詳しく解説します。

【要点】MailAppとシートデータで自動メール送信を実現する方法

  • MailApp.sendEmailメソッド: シートのセルから宛先、件名、本文を取得して送信します。
  • スクリプトエディタの開き方: Googleスプレッドシートの拡張機能メニューからApps Scriptを起動します。
  • 時間主導型トリガーの設定: 定期的にスクリプトを実行して完全自動化を実現します。

ADVERTISEMENT

MailAppでシートデータを活用する仕組み

MailAppはGoogle Apps Scriptが提供するメール送信用のサービスです。スプレッドシートのデータをスクリプト内で読み取り、その内容をメールの宛先や本文に設定します。例えば、シートのA列にメールアドレス、B列に件名、C列に本文を準備しておけば、1行ごとにメールを送信できます。この連携により、大量のメールを効率的に処理できるようになります。

MailAppの特徴として、1日あたりの送信上限がある点に注意が必要です。無料アカウントでは1日100通まで、Google Workspaceアカウントでは1日1500通まで送信できます。また、送信者名や返信先アドレスも指定可能で、ビジネス利用にも適しています。

自動メール送信の設定手順

手順1: シートにデータを準備する

  1. データを整理する
    1行目を見出し行とし、A列に宛先メールアドレス、B列に件名、C列に本文を入力します。本文には改行や変数を含めることも可能です。
  2. サンプルデータを入力する
    テスト用に2〜3行のデータを入れておくと動作確認がスムーズです。

手順2: Apps Scriptエディタを開く

  1. 拡張機能メニューを開く
    Googleスプレッドシートのメニューから「拡張機能」をクリックし、「Apps Script」を選択します。
  2. プロジェクト名を設定する
    スクリプトエディタが開いたら、左上の「無題のプロジェクト」をクリックしてわかりやすい名前を付けます。

手順3: メール送信用のスクリプトを記述する

  1. コード.gsにスクリプトを書く
    以下のコードをコピーして貼り付けてください。
    function sendEmails() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var data = sheet.getDataRange().getValues();
    for (var i = 1; i < data.length; i++) {
    var email = data[i][0];
    var subject = data[i][1];
    var body = data[i][2];
    MailApp.sendEmail(email, subject, body);
    }
    }
  2. スクリプトを保存する
    Ctrl+S(またはCmd+S)で保存します。初回は承認が必要です。

手順4: スクリプトを実行してテストする

  1. 送信関数を選んで実行する
    ツールバーの関数ドロップダウンから「sendEmails」を選択し、「実行」ボタンをクリックします。
  2. 承認を行う
    初回は権限の確認画面が表示されます。「許可」をクリックして、スクリプトがメール送信とスプレッドシートへのアクセスを許可します。
  3. 送信結果を確認する
    指定した宛先にメールが届いているか確認します。問題があればスクリプトを修正します。

手順5: トリガーを設定して自動化する

  1. トリガー画面を開く
    スクリプトエディタの左側の時計アイコンをクリックして「トリガー」画面を表示します。
  2. 新しいトリガーを追加する
    「トリガーを追加」をクリックし、関数「sendEmails」を選択します。イベントのソースを「時間主導型」にし、頻度を「1時間おき」「日タイマー」など希望に合わせて設定します。
  3. トリガーを保存する
    設定を保存すると、指定したタイミングで自動的にスクリプトが実行されます。

よくあるエラーと対処法

「サービスが1日の割り当てを使い果たしました」と表示される

MailAppには1日の送信上限があります。このエラーは上限を超えた場合に発生します。対処法として、送信数を減らすか、Google Workspaceアカウントにアップグレードして上限を引き上げてください。また、トリガーの実行間隔を調整して、一度に送信する数を抑えることも有効です。

メールが送信されない、エラーが出ないのに届かない

スクリプトの実行ログを確認してください。Viewメニューから「ログ」を表示し、エラーがないか確認します。また、シートのデータに空欄や不正な形式がないかチェックします。特にメールアドレスが正しく入力されているか、件名や本文に問題がないか確認します。

本文の改行や変数が反映されない

シートのセル内で改行を入力するには、Alt+Enter(Windows)またはOption+Enter(Mac)を使います。スクリプト内で改行をそのまま扱うには、本文に含まれる「\n」をエスケープする必要はありません。ただし、セル内の改行は自動で反映されますので、注意してください。

ADVERTISEMENT

MailAppとGmailAppの違い

項目 MailApp GmailApp
送信制限 1日100通(無料)、1500通(Workspace) 1日100通(無料)、1500通(Workspace)
送信者名の変更 可能(optionsで指定) 可能(optionsで指定)
返信先アドレスの指定 可能 可能
HTMLメールの送信 不可(テキストのみ) 可能(htmlBodyオプション)
スレッド管理 不可 可能(スレッドID指定など)
添付ファイル 不可 可能(Blobデータ)

MailAppはシンプルなテキストメールを送信するのに適しています。HTMLメールや添付ファイルが必要な場合はGmailAppを利用してください。ただし、GmailAppの利用にはGmailサービスを有効にする必要があります。

まとめ

この記事では、GoogleスプレッドシートとMailAppを連携してGmailの本文を自動送信する方法を解説しました。シートにデータを準備し、Apps ScriptでsendEmail関数を記述し、トリガーを設定することで完全自動化が実現できます。最初は簡単なテキストメールから始め、慣れてきたらGmailAppを使ってHTMLメールや添付ファイルにも挑戦してみてください。これらのテクニックを活用して、日々の業務効率を高めましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。