GASを使うと、Gmailから自動でメールを送信できます。 これを覚えると「日報送信」「顧客対応」「進捗共有」など、業務連絡が自動化できます。
Contents
基本構文:メールを送る最小コード
まずは1通のメールを送信してみましょう。
function sendMailBasic() {
const to = "sample@example.com";
const subject = "テストメール";
const body = "これはGASから自動送信されたメールです。";
GmailApp.sendEmail(to, subject, body);
}
このコードを実行すると、Gmailの送信履歴に「テストメール」が自動で追加されます。 これだけで「メール送信の自動化」が成立します。
応用①:スプレッドシートの宛先リストに一括送信
スプレッドシートに「宛先一覧」がある場合、それをもとに自動送信できます。
function sendMailFromSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("メールリスト");
const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 3).getValues();
data.forEach(row => {
const to = row[0]; // A列:宛先メールアドレス
const name = row[1]; // B列:名前
const task = row[2]; // C列:内容
const subject = `【お知らせ】${name}さんへ`;
const body = `${name}さん\n\n以下の内容をご確認ください:\n${task}\n\n---\n自動送信メール(返信不要)`;
GmailApp.sendEmail(to, subject, body);
});
}
これで、リストに登録された全員にメールを自動送信できます。 大量の通知やイベント案内を効率的に配信できます。
応用②:CC・BCC・HTML形式で送信する
sendEmail()には第4引数でオプション設定が可能です。
たとえば、社内共有やHTML形式の装飾付きメールも簡単です。
function sendMailAdvanced() {
const to = "client@example.com";
const subject = "【レポート配信】";
const htmlBody = `
いつもありがとうございます。
今週のレポートをお送りします。
自動送信システムより
`;
GmailApp.sendEmail(to, subject, "", {
cc: "manager@example.com",
bcc: "log@example.com",
htmlBody: htmlBody,
name: "自動レポート送信"
});
}
オプションを使うことで、「CC・BCC・HTML・送信者名変更」など柔軟な送信が可能になります。
応用③:自動署名付きメールを送る
function sendMailWithSignature() {
const signature = "\n\n---\n株式会社Example\n自動化システム部\ninfo@example.com";
GmailApp.sendEmail("user@example.com", "テスト送信", "GASからの自動送信です。" + signature);
}
固定の署名をつけておけば、フォーマルな通知メールにもすぐ使えます。
自動送信をスケジュールする(トリガー設定)
- GASエディタ左の「時計マーク(トリガー)」をクリック
- 「トリガーを追加」を押す
- 実行関数に
sendMailFromSheetを選択 - イベントのソース:「時間主導型」
- 実行タイミング:「毎日9時」などを指定
これで毎朝、GASが自動でメールを送信するようになります。 「朝礼メール」「定期報告」などを完全自動化できます。
トラブル対策・注意点
- 初回実行時:承認画面が出るので「権限を許可」してください。
- 送信上限:無料アカウントは1日100件、Google Workspaceは1500件が上限です。
- エラー処理:
try...catchを使うと停止せずログ出力が可能。 - ログ確認:「表示」→「ログ」で送信結果をチェックできます。
まとめ:メール自動化で「報告に時間を取られない」
GASでメール送信を自動化すれば、手動での連絡作業がなくなります。 スプレッドシートと連携すれば、データに基づいた自動通知も簡単です。
