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

【Google Apps Script】その12 メール送信機能を作る

More than 1 year has passed since last update.

この記事はGoogle Apps Scriptを実例交えて基礎からざっくり学ぶ Advent Calendar 2017 12日目の記事です。

本アドベントカレンダーは@rt_pの個人プロジェクトですが、筆者はAteam Brides Inc. Advent Calendar 2017にも参加しています。そちらでも出張版記事を書いているので、覗いていただけると嬉しいです。

はじめに

今回は簡易的なメルマガ配信システムを作ります。
メルマガで最も気をつけるべきことは、宛先は一通一通TOを設定する、もしくはBCCを設定することでしょうか。

TOや宛先に複数の送信先を設定すると他の受信者が見えてしまいます。稀に企業がメルマガの設定を失敗して情報漏洩のニュースになっていますね…気をつけましょう。

mail.png

メール配信リストを作る

まずはスプレッドシートを開き、下記のようなリストを作りましょう。
A列にメールアドレス、B列に相手の名前を入れます。

sheet.png

実在する可能性のあるメールアドレスは絶対に入力しないように!そのメールアドレスに持ち主が存在する場合迷惑が掛かってしまいます。
@example.comはサンプルとして使っていいフリードメインなので安心です。

受信の確認をする為、自身のメールアドレスを入れるといいでしょう。

スクリプトエディタを開き、以下コードに置き換えて実行します。
スクリプトエディタの開き方や承認が必要ですメッセージが出た際の対処法が分からない場合は
アドベントカレンダー1日目のHello, world!記事をご参照ください。

send_mail.gs
function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var values = sheet.getDataRange().getValues();
  for (var i in values) {
    sendMail(values[i][0], values[i][1]);
  }
}

// メールを送る
function sendMail(mailto, name) {
  var subject = name + 'さんこんにちは';
  var body = name + "さん、お元気ですか?\r\n私は元気です。";
  GmailApp.sendEmail(mailto, subject, body); // メール送信
}

sendEmail(recipient, subject, body)

https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String)

なんとこのコードを実行するだけで、入力した3名にメールが配信できます。

mail.png

メールの送信を覚えたらできることが一気に広がります。
今まで紹介してきた定期実行の仕組みやAPIと組み合わせて、あらゆる指標の定期レポートが作れますね。

おわりに

今回は短いですが以上です。

ちなみにGmailAppはメールの送信だけでなく、受信ボックスの中身を取り出して処理もできます。
今回のアドベントカレンダーでは特に触れませんが、興味があれば調べてみてください。

明日

【Google Apps Script】その13 スプレッドシート上のグラフを画像として保存やメール送信する
となります。
スプレッドシートで作成したグラフを画像としてGoogleドライブに保存したり、メールで配信する方法を紹介します。

前の記事
【Google Apps Script】その11 Webサイトのスクリーンショットを定期的にGoogle Driveに保存する
次の記事
【Google Apps Script】その13 スプレッドシート上のグラフを画像として保存やメール送信する

brides-a-tm
『一組でも多くのカップルに “理想の結婚式”のきっかけを』の使命の元、花嫁の理想(ユメ)を叶えるサービス「ハナユメ」「HIMARI」「ハナユメウエディングデスク」を運営しています。
http://brides.a-tm.co.jp/
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
Comments
No 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
ユーザーは見つかりませんでした