Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@bellx2

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

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  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
bellx2
ソフトウェアで世の中をハッピーにしたい何でもやる系エンジニアです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?