Help us understand the problem. What is going on with this article?

Google Apps Scriptを使ってスプレッドシートから一斉メールを送信する

More than 1 year has passed since last update.

メール送信を手動でGmailに貼り付けてやっている人がいたので簡単にスクリプトを作ってみました。

シート作成

1.スプレッドシートを新規作成します。

2.シート名を「メール送信リスト」とします。

3.1行目を下記のような表にします。2行目以降はデータとします。
※列の項目名はアレンジしてもかまいません。

A B C D E
1 氏名 メールアドレス タイトル メッセージ URL
2 hoge hoge.com テスト ほげ http://hoge.com/
3

スクリプトエディタ

4.「ツール」→「スクリプトエディタ」を開き、下記のコードをコピペします。

function onOpen(e) {
  var spreadsheet = SpreadsheetApp.getActive();
  var menuItems = [
    {name: '送信実行', functionName: 'sendEmails'}
  ];
  spreadsheet.addMenu('メール送信', menuItems)
}

function sendEmails(){
  var selection = Browser.msgBox("メールを一斉送信しますがよろしいですか?", Browser.Buttons.YES_NO);
  if (selection == 'no') {
    Browser.msgBox('送信をキャンセルしました。');
    return;
  }
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("メール送信リスト"));
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange("A2:F101"); // 一応100件まで 
  var data = dataRange.getValues();
  for(i in data){
    var rowData = data[i];
    var emailAddress = rowData[1];
    var recipient = rowData[0];
    var subject = rowData[2];
    var message = rowData[3];
    var url = rowData[4];
    var body = message + '\n\n' + url;  // 本文を作る
    if (emailAddress && subject && message){   
      MailApp.sendEmail(emailAddress, subject, body);
    }
  }
  Browser.msgBox('送信が完了しました。');
}

5.プロジェクト名は「メール」送信」等適当な名前で保存します。

6.編集→現在のプロジェクトのトリガーを開きます。

キャプチャ2.PNG

7.新規トリガーとして「onOpen」をスプレッドシート起動時に設定します。

キャプチャ3.PNG

8.承認が求められるので「許可を確認」を押し、自分のGoogleアカウントで許可を行います。

キャプチャ4.PNG

キャプチャ5.PNG

完成

9.シートリロードしたらヘルプの横に「メール送信」という項目ができたら完成です。

キャプチャ6.PNG

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away