はじめに
Google フォームを使ってアンケートや問い合わせを受け付けた際に、自動で返信メールを送信したいと思ったことはありませんか?
手動で返信するのは手間がかかるため、自動化できると便利です。
そこで、Google Apps Script(GAS)を使って、Google フォームの回答が送信された際に、自動でメールを返信するスクリプトを作成しました。
このスクリプトを使えば、フォームの回答者に確認メールを送ったり、管理者に通知を送ったりすることができます。
スクリプトの概要
このスクリプトは以下の処理を行います。
- Google フォームの回答が送信されると自動でトリガーが実行される
- 回答者に自動返信メールを送信
- 必要に応じて管理者にも通知メールを送信
スクリプトのコード
以下のコードをGoogle Apps Scriptのエディタに貼り付けてください。
function sendAutoReply(e) {
var responses = e.response.getItemResponses();
var email = "";
var messageBody = "【Googleフォームのご回答ありがとうございます】\n\n以下の内容で回答を受け付けました。\n\n";
responses.forEach(response => {
var question = response.getItem().getTitle();
var answer = response.getResponse();
if (question.includes("メールアドレス")) { // 回答者のメールアドレスを取得
email = answer;
}
messageBody += "【" + question + "】\n" + answer + "\n\n";
});
if (email) {
MailApp.sendEmail({
to: email,
subject: "【受付完了】Googleフォームの回答ありがとうございます",
body: messageBody
});
}
// 管理者への通知(必要に応じて)
var adminEmail = "your-admin@example.com"; // 管理者のメールアドレス
MailApp.sendEmail({
to: adminEmail,
subject: "Googleフォームの新しい回答",
body: "新しい回答が送信されました。\n\n" + messageBody
});
Logger.log("自動返信メールを送信しました: " + email);
}
スクリプトの説明
sendAutoReply(e)
- フォームの回答データを取得
- 回答者のメールアドレスを取得(質問名に「メールアドレス」が含まれるものを使用)
- 回答内容をフォーマットして返信メールを作成
- 回答者と管理者にメールを送信
使い方
- Google フォームを作成
- Google フォームを作成し、必須項目として「メールアドレス」の入力欄を追加
- スクリプトを設定
- Google フォームの「スクリプトエディタ」を開く
- 上記のコードを貼り付けて保存
- トリガーを設定
- 「編集」→「現在のプロジェクトのトリガー」を開く
- 「トリガーを追加」ボタンを押す
- 関数を
sendAutoReply
に設定 - イベントの種類を「フォーム送信時」に設定
- テスト送信
- Google フォームでテスト送信し、メールが届くか確認
応用:メールのフォーマットをHTMLにする
メール本文をHTML形式にしたい場合、以下のように変更できます。
MailApp.sendEmail({
to: email,
subject: "【受付完了】Googleフォームの回答ありがとうございます",
htmlBody: "<h3>【Googleフォームのご回答ありがとうございます】</h3><p>以下の内容で回答を受け付けました。</p><ul>" +
responses.map(r => "<li><strong>" + r.getItem().getTitle() + "</strong>: " + r.getResponse() + "</li>").join("") +
"</ul>"
});
おわりに
このスクリプトを使えば、Google フォームの回答に対して自動返信メールを送ることができます。
問い合わせフォームやイベント登録フォームなど、さまざまな用途に活用してみてください!
コメントを書く