見出し画像

GAS超入門④ - メールを送ってみよう

はじめに

このGAS超入門シリーズで、最初はスプレッドシートの操作方法を学んできました。
スプレッドシートを操作できるようになるだけで、クラウドワークスやLancersで5000円~50,000円の案件を受注できるようになります。

さらに、実際の案件では「結果をメールで送信したい」とか「Slackへ定期的に送信したい」「chatworkに送りたい」などの要件が追加されることが多いです。

そこで今回からはGmail/Slack/Chatworkへ送信する方法について学び、より【あなたの稼ぐ力】をぶち上げていきます

Google Apps Scriptの新規ファイルを作る

GASをつかってメールを送信するには、新しくGASファイルを作る必要があります。これまではスプレッドシートからスクリプトエディタを開いていましたが、Googleドライブから作成する方法を紹介します。

1. まずは、Googleドライブを開く
2. 新規から「その他」→「Google Apps Script」を選択

GoogleAppsScriptの新規作成_00

GoogleAppsScriptの新規作成

スクリーンショット 2020-07-05 23.34.04


ここに処理を書いていきます。

【補足】Google Apps ScriptをGoogleドライブに追加する

もし、上記の手順の際に「その他」の中にGoogle Apps Scirptが出てこない場合は、Googleドライブに追加する必要があります。

GoogleAppsScriptの追加_01

GoogleAppsScriptの追加_02

GoogleAppsScriptの追加03

GoogleAppsScriptの新規追加04

GoogleAppsScriptの新規追加05


これで追加すれば、先ほどの「新規」→「その他」→「Google Apps Script」が出てくるはずです。

GmailAppオブジェクトを使ってメールを送信してみる

おまたせしました。早速メールを送ってみましょう。
思ってる100倍簡単ですよw

function sendEmail() {
 // 送信先のメールアドレス
 let recipient = "【あなたのEmailアドレスを入力してください】"
 
 // メールの件名
 let subject   = "テストメールの配信です"
 
 // メールの本文
 let body      = `
   こんにちは。
   これはテストメールです。
   送信できているか確認中です。
 `
 
 // メールを送信する
 GmailApp.sendEmail(recipient, subject, body)
}

recipientという送信先のメールアドレスを入れる変数には、実際に送信したいあなたのメールアドレスを入れてください。

この状態で、実行してみます。

スクリーンショット 2020-07-05 23.43.14

まず、このGASがあなたのGmailアカウントを操作してよいか?と聞かれるので、「許可を確認」をクリックします。

GASでメール送信01


どのアカウントのGmailアカウントを操作するか聞かれるので、自分のGoogleアカウントを選択してください。

GASでメール送信02


認証されていないアプリから操作するのでこのような警告が出ますが、「詳細」をクリックしてください。

GASでメール送信03


下の方に詳細が表示されますので「無題のプロジェクト(安全でないページ)に移動」をクリックします。

GASでメール送信05


そこで、最初に選択したアカウントのGmailの中身を「見る」「作る」「送信する」「消す」という権限を与えてもOK?と聞かれるので、「許可」します。

実際にメールが届いてるかを確認してみましょう。

GASでメール送信06


ちゃんと自分宛にメールが届いてるのが確認できました。
めっちゃ簡単ですね!!
GmailAppのsendEmailメソッドを使うだけでメールが送信できてしまうのです。

さらに、実践で使えるオプション機能を見ていきましょう。

オプションを理解する

GmailAppのsendEmailメソッドには以下のようなオブジェクトをオプションとして指定できます。

cc : CCに含めるメールアドレスをカンマ区切りで列挙した文字列
bcc : BCCに含めるメールアドレスをカンマ区切りで列挙した文字列
name: 送信者名 (デフォルトはユーザー名)
noReply: 返信不可とするか?のブール値(true/false)
replayTo: 返信時のメールアドレス

実際につかってみます。
今回は、ccを2つ設定し、nameで送信元の名前を変更し、replyToで返信先を指定します。

また、このオプションを表すオブジェクトはsendEmailメソッドの第四引数に指定します。

function sendEmail() {
 // 送信先のメールアドレス
 let recipient = "【あなたのメールアドレス】"
 
 // メールの件名
 let subject   = "テストメールの配信です"
 
 // メールの本文
 let body      = `
   こんにちは。
   これはテストメールです。
   送信できているか確認中です。
 `
 
 let options = {
   'cc': "【あなたのメールアドレス1】, 【あなたのメールアドレス2】",
   'name': "スキプラお問い合わせ窓口",
   'replyTo' : "hoge@example.com"
 }
 
 // メールを送信する
 GmailApp.sendEmail(recipient, subject, body, options)
}

実際に送られてきたメールを見てみましょう。

GASでメール送信オプション01


ちゃんと、送信元の名前が先程のユーザー名から、「スキプラお問い合わせ窓口」に変わっていますね。
また、自分以外にもccに入れた2名も送信先に入っていることが確認できます。

GASでメール送信オプション02


このメールに返信すると、返信先は送信者のメールアドレスではなく、先程していした「replyTo」になっていることが分かります。
お問い合わせなんかでは便利ですね。

さいごにお願い

このnoteの「スキ」ボタンを押してください🙇‍♂️
(嬉しいメッセージが出てくるかも?笑)

TwitterでRTしてください🙇‍♂️
(モチベーション上がって有益情報を引き続き発信しまくります!


いいなと思ったら応援しよう!

スキプラ@元エンジニア
実践編で利用するための基礎編はすべて無料公開してます。 基礎編のモチベーション向上のためにサポートして頂けるとめちゃくちゃ喜びます!! だいたい作業工数は1記事あたり4-5時間程度かけて【分かりやすい】【知識が身につく!】を意識して作っておりますので、今後も頑張っていきます!