(最終更新月:2023年4月)
Google Apps Script(GAS)を使って、Googleフォームに入力したメールアドレスへ、認証のメールを送信する仕組みを作りました。
システムの概要から、そのコードまで、できる限りわかりやすく解説しているので、ぜひご覧ください。
GASを使ったGoogleフォームからのメール送信機能の概要
機能全体の流れは以下のとおり。
GoogleフォームとGASのスクリプトを紐付ける
Eメールアドレスの入力フォームとして、Googleに備わっているGoogleフォームを使います。
GASとの連携では、右のドット3つをクリックして、スクリプトエディタへ進みましょう。
Google Apps Scriptでの実際のコード
機能をわかりやすくするために、2つのファイルに分けました。
main.gs:トリガーと紐付ける関数があるファイル
//メインファンクション
function sendMailFromForm(e) {
const itemList = e.response.getItemResponses();
const formIndex = getFormIndex(itemList);
const email = itemList[formIndex].getResponse();
sendMailFunc(email);
//console.log(email) //確認時にはこちらを使ってください。
}
//フォームのタイトルに「Eメールアドレス」という文字列を含めてください。
function getFormIndex(itemList) {
//特定したい文字列を入力
const findstr = 'Eメールアドレス'
let i = 0;
itemList.forEach((item, index, arr) => {
if (item.getItem().getTitle().includes(findstr)){
i = item.getItem().getIndex();
}
})
return i
}
メール送信のためのGASファイル
#紐付けるGメールアカウントと関連性のあるメールアドレスでなければいけません。
const FROM_EMAIL = "xxx@gmail.com";
const NAME = "ITCブログ運営"; //メールの送り先として記載される文字列
const subject = "こちらはテストタイトル";
const body = "This is content.これが中身。" //日本語と英語のどちらも検証が必要。
function sendMailFunc(to) {
options = {
'from': FROM_EMAIL,
'name': NAME
}
GmailApp.sendEmail(to, subject, body, options)
}
メールアプリを使用するための認証ステップ
Google Apps Scriptでは、アプリケーションを使用するための認証作業が必要です。
以下の2ステップでおこないましょう。
- appsscript.jsonを有効化
- jsonファイルの書き方
appsscript.jsonを有効化
認証情報を書き込むための、「appsscript.json」を有効化しましょう。
jsonファイルの書き方
有効化すると、コード画面でappsscript.jsonを編集できるようになります。
以下の「oauthScopes」に追記をしてください。
{
"timeZone": "Asia/Tokyo",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
//こちらを追加してください。
"oauthScopes": [
"https://www.googleapis.com/auth/script.send_mail",
"https://www.googleapis.com/auth/gmail.modify"
]
}
トリガの設定
トリガの設定へ進み、右下のトリガーを追加 > イベントの種類で、フォーム送信時を選択しましょう。
まとめ
以上のことをおこなえば、GASとGoogleフォームでメール送信機能が実装できます。
GASからGmailをコントロールすれば、無料でメールが送信できるのでおすすめです。