お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
大量のメールにファイルを添付して送信すると、手間も時間もかかって残業が増えますよね?
この記事ではそのお悩みを、コピペOKのGoogle Apps Scriptのコードで解決します。

- 大量のメールを送信する時間を減らしたい
- ファイルを添付するけど、付け忘れのミスが起こると怖い
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますので、お気軽に学んでいきましょう!
タップできる目次
添付ファイルとメールを送信するイメージ

1クリックでメールに画像などのファイルを添付して送信します。
例えば、50件ほどメールにJPEGファイルを付けて送信しようとすると、膨大な時間とファイル付け忘れのミスが考えられます。
GASならずべて自動で同じ操作をするので、作業時間と送信ミスの削減を期待できます。
ファイルを添付して送信する準備
Google Apps Script でファイルを添付して送信する準備をします。ファイルは3つ必要です。
必要なファイル
- Google スプレッドシート ・・・ 顧客データの書き込み & コードの貼り付け
- Google ドキュメント ・・・ メールの本文の作成
- テスト用のJPEGデータ ・・・ メールの添付ファイルとして使用
Google スプレッドシートの作成
メールアドレスを登録するスプレッドシートを作成します。
この記事では、「姓」,「名」,「メールアドレス」の3項目を登録し、列A から列C の1行目に見出しを記入します。

個別のデータを記入します。後からテスト送信するので、メールアドレスはあなたが所有するアドレスに書き換えます。

シート名を変更します。右クリックして「リスト」と名前をつけます。Google スプレッドシート は以上です。

Google ドキュメントの作成
Googleドキュメントでメールの本文を作成します。
文章内の {customer} に「リスト」シートから取得した名前( 姓+名 )が入ります。Google ドキュメントの編集は以上です。

添付するファイルの作成
メールに添付するファイルをJPEGにしました。メールに添えるファイルは他のPDFやGIFでも問題ありません。

サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。

ファイルを添付して送信するコード
Google Apps Scriptでファイルを添付してメールを送信するコードを掲載します。
解説の項目
- サンプルコード
- A.送信するメールの定義
- B.使用するスプレッドシートの定義
- C.シートのセル番号を定義
- D.Google ドキュメントからメール本文を取得
- E.メールを送信
サンプルコード
ソースコードの全体です。右上にあるマークを押すとコードのコピペが一瞬でできます。また、コード内で文頭にアルファベットが付いているコメントごとに、詳細を説明していきます。
function sendMail() {
//A.送信するメールの定義
const senderName = '送り主の名前';
const subject = 'メールのタイトル';
const DOC_URL = 'ドキュメントのURL'; //メールの本文
const file = DriveApp.getFileById('添付ファイルのID').getBlob(); //添付ファイル
//B.使用するスプレッドシートの定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const listSheet = spreadSheet.getSheetByName('リスト');
//C.シートのセル番号を定義
const LAST_NAME_COL = 1; //苗字の列番号
const FIRST_NAME_COL = 2; //名前の列番号
const MAIL_ADDRESS_COL = 3; //メールアドレスの列番号
const START_ROW = 2; //for構文で読み込み始める行番号
//D.Google ドキュメントからメール本文を取得
const openDoc = DocumentApp.openByUrl(DOC_URL);
let wholeText = openDoc.getBody().getText();
//E.メールを送信
const recipient = listSheet.getRange(START_ROW,MAIL_ADDRESS_COL).getValue();
const customerName = listSheet.getRange(START_ROW,LAST_NAME_COL).getValue()+ " " +listSheet.getRange(START_ROW,FIRST_NAME_COL).getValue();
let body = wholeText.replace("{customer}", customerName);
const options = {
name : senderName,
attachments : file
};
MailApp.sendEmail(recipient, subject, body, options);
}
A, 送信するメールの定義
//A.送信するメールの定義
const senderName = '送り主の名前';
const subject = 'メールのタイトル';
const DOC_URL = 'ドキュメントのURL'; //メールの本文
const file = DriveApp.getFileById('添付ファイルのID').getBlob(); //添付ファイル
送信するメールの内容を定義します。
ここでは、クォーテーションの中身を書き直す必要があります。
合計4つを書き換える必要があります。
定数名 | 内容 |
senderName | メールに表示する送信者の名前 |
subject | メールに表示する件名 |
DOC_URL | Google ドキュメントのURL |
file | 添付するファイルのID |
B, 使用するスプレッドシートの定義
//B.使用するスプレッドシートの定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const listSheet = spreadSheet.getSheetByName('リスト');
メールアドレスを記録したスプレッドシートと「リスト」シートを定義します。
C, シートのセル番号を定義
//C.シートのセル番号を定義
const LAST_NAME_COL = 1; //苗字の列番号
const FIRST_NAME_COL = 2; //名前の列番号
const MAIL_ADDRESS_COL = 3; //メールアドレスの列番号
const START_ROW = 2; //for構文で読み込み始める行番号
名前とメールアドレスのデータを取得し始めるシートの行と列の番号を定義します。
D, Google ドキュメントからメール本文を取得
//D.Google ドキュメントからメール本文を取得
const openDoc = DocumentApp.openByUrl(DOC_URL);
let wholeText = openDoc.getBody().getText();
メールの本文を記入したGoogle ドキュメントを取得します。
E, メールを送信
//E.メールを送信
const recipient = listSheet.getRange(START_ROW,MAIL_ADDRESS_COL).getValue();
const customerName = listSheet.getRange(START_ROW,LAST_NAME_COL).getValue()+ " " +listSheet.getRange(START_ROW,FIRST_NAME_COL).getValue();
let body = wholeText.replace("{customer}", customerName);
const options = {
name : senderName,
attachments : file
};
MailApp.sendEmail(recipient, subject, body, options);
添付ファイル付きのメールを送信します。
シート内のメールアドレスと送信先の氏名を取得し、Google ドキュメントのメール本文を読み込みます。
また、定数 options で送信者の名前と添付ファイルのIDの2つを取得します。
最後にsendEmailメソッドを実行すればメールを送信できます。説明は以上です。
メール送信のテスト
実際に、添付ファイル付きのメールを送信するテストをします。
Apps Scriptの上バーの文字が「sendMail」になっていたら、「実行」を押します。

「このアプリはGoogleで確認されていません」と表示した場合はこちら。
-
【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法
続きを見る
送信先メールを確認します。ファイル付きで受信できていたら成功です。

【便利】GASでメール送信を楽にするコード一覧
この記事では、メールにファイルを添付する方法を紹介しました。
GASを使えば、他にもメール送信を楽にするツールを開発できます。
例えば、BCCかCCに設定して送信や1クリックで一斉送信などです。
当サイトではコピペOKのサンプルコードも用意していますので、ぜひご活用ください。
-
【残業2割減】GASでBCCかCCでメールを送信
続きを見る
-
【残業3割減】GASでメールの一斉送信を自動化
続きを見る
-
【残業半減】GASでフォーム回答後に文章付きでメールを自動返信
続きを見る
おわりに | GASで市場価値を高めるには
以上、Google Apps Script メールを一斉送信する方法でした。
そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。
GASでさらに業務効率化する場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます。
GASユーザーのあっきょがおすすめの勉強方法はこちら↓

次回の記事もご期待ください!