【GAS】Gmailの下書きを作成・管理する方法

GAScreateDraft,gmaiapp,gmail

Google Apps Script(GAS)を使用すると、Gmailの下書きを自動作成したり、スプレッドシートと連携して効率的に下書きを管理することができます。特に、繰り返し作成するメールのテンプレート化や、大量の下書きを一括で生成する場面で大きな効果を発揮します。

この記事では、GASを使った下書き作成の基本から、具体的な応用例までを詳しく解説します。

GASでGmailの下書きを作成するメリット

GASを使うと、手動で行うと煩雑な下書き作成作業を自動化できます。以下のようなシーンで特に有効です。

メリット1: 定型業務の効率化

営業メールや確認通知など、内容が似通ったメールを大量に作成する場合に、一括処理が可能です。

メリット2: スプレッドシートとの連携

スプレッドシートに保存したデータをもとに、各宛先に合わせたカスタマイズメールを下書きとして作成できます。

メリット3: ヒューマンエラーの防止

宛先や件名を自動的に設定することで、手動での記入ミスを防げます。

GmailApp.createDraftメソッドの基本構文と使用例

基本構文

以下がGmailApp.createDraftメソッドの基本構文です。このメソッドは指定した情報を基にGmailの下書きを作成します。

GmailApp.createDraft(to, subject, body [, options])

引数の説明

引数説明
to宛先のメールアドレス
subject件名
body本文
optionsCC、BCC、添付ファイル、返信先などのオプション設定(任意)

オプションパラメータの例

オプション名説明
ccCCに挿入するアドレス
bccBCCに挿入するアドレス
attachmentsメールに添付するファイル
noReplyメッセージに返信不要の場合はtrue

必要な権限設定と初期設定

GASでGmailにアクセスするには権限設定が必要です。初めてスクリプトを実行する際は、Googleが表示する承認ダイアログでGmailへのアクセスを許可してください。

下書きを1通作成する

簡単なコード例

以下は、基本的な下書き作成コードです。

javascriptコードをコピーするfunction createSingleDraft() {
  const recipient = "example@gmail.com"; // 宛先
  const subject = "GASによる下書き作成"; // 件名
  const body = "このメールはGASを使用して作成されました。"; // 本文

  GmailApp.createDraft(recipient, subject, body);
}

実行後、Gmailの下書きフォルダを確認すると、新しい下書きが作成されています。

応用例:CCやBCCの活用

CCやBCCを活用したい場合は、オプションを設定します。

function createDraftWithCCandBCC() {
  const recipient = "example@gmail.com";
  const subject = "CCとBCCの活用例";
  const body = "このメールはCCとBCCを使用した下書きの例です。";

  const options = {
    cc: "cc@example.com",
    bcc: "bcc@example.com"
  };

  GmailApp.createDraft(recipient, subject, body, options);
}

スプレッドシートから複数の下書きを一括作成する

操作ステップ

  1. スプレッドシートを用意し、宛先、件名、本文を記載します。
  2. GASスクリプトを記述して、スプレッドシートのデータを読み込みます。
  3. データを基に下書きを作成します。

サンプルコード

以下のコードを使用すると、スプレッドシートに記載された複数のメール情報から下書きを自動作成できます。

function createDraftsFromSheet() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();

  data.forEach((row, index) => {
    if (index === 0) return; // ヘッダー行をスキップ

    const recipient = row[0]; // 宛先
    const subject = row[1]; // 件名
    const body = row[2]; // 本文

    GmailApp.createDraft(recipient, subject, body);
  });
}

応用例:個別メッセージの動的生成

スプレッドシートのデータを基に、本文を動的に生成する方法もあります。

function createDynamicDrafts() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();

  data.forEach((row, index) => {
    if (index === 0) return;

    const recipient = row[0];
    const subject = "こんにちは、" + row[1] + "さん";
    const body = `親愛なる${row[1]}様\n\n以下の内容についてご確認ください。\n${row[2]}`;

    GmailApp.createDraft(recipient, subject, body);
  });
}

作成済みの下書きを検索・取得する

操作ステップ

  1. GmailApp.getDrafts()メソッドで下書きを取得します。
  2. 条件に基づいてフィルタリングします。

サンプルコード

すべての下書き件名をログに出力する例です。

function listAllDrafts() {
  const drafts = GmailApp.getDrafts();

  drafts.forEach((draft) => {
    const subjecああ = draft.getMessage().getSubject();
    console.log("件名: " + subject);
  });
}

GASを使ったメール管理の注意点

下書き数やメール送信数の制限

GASで作成・送信できるメールには以下の制限があります。

  • Gmailの下書き保存数には制限がないが、管理が煩雑になる可能性がある。
  • 送信メール数:100通/日(Google Workspaceの場合も同じ)

データセキュリティの確保

スプレッドシートのデータには機密情報が含まれる可能性があるため、アクセス制限を設定しましょう。また、誤送信防止のためのテスト環境を用意することをおすすめします。

まとめ

この記事では、GASを使ってGmailの下書きを作成・管理する方法を詳しく解説しました。以下の手順を活用して、メール作成の効率化を実現しましょう。

  • 基本操作:簡単なコードで下書きを作成
  • スプレッドシート連携:複数の下書きを一括作成
  • 動的生成:個別にカスタマイズしたメールを作成

これらの機能を活用し、業務効率を大幅に向上させてください!