【GAS】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 | 本文 |
options | CC、BCC、添付ファイル、返信先などのオプション設定(任意) |
オプションパラメータの例
オプション名 | 説明 |
---|---|
cc | CCに挿入するアドレス |
bcc | BCCに挿入するアドレス |
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);
}
スプレッドシートから複数の下書きを一括作成する
操作ステップ
- スプレッドシートを用意し、宛先、件名、本文を記載します。
- GASスクリプトを記述して、スプレッドシートのデータを読み込みます。
- データを基に下書きを作成します。
サンプルコード
以下のコードを使用すると、スプレッドシートに記載された複数のメール情報から下書きを自動作成できます。
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);
});
}
作成済みの下書きを検索・取得する
操作ステップ
- GmailApp.getDrafts()メソッドで下書きを取得します。
- 条件に基づいてフィルタリングします。
サンプルコード
すべての下書き件名をログに出力する例です。
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の下書きを作成・管理する方法を詳しく解説しました。以下の手順を活用して、メール作成の効率化を実現しましょう。
- 基本操作:簡単なコードで下書きを作成
- スプレッドシート連携:複数の下書きを一括作成
- 動的生成:個別にカスタマイズしたメールを作成
これらの機能を活用し、業務効率を大幅に向上させてください!