- blogs:
- cles::blog
2012/09/24

Google Docs をメールフォームとして使う

Google Docs のフォームは便利なのですが、自分以外に通知を送ろうとすると Google Apps Script を使うしかないようです。
今回は簡単なメールフォーム的なものを作りたかったので、下記のエントリを参考に(というか、ほぼ流用させてもらって)作成してみました。
・Googleドキュメントのフォーム機能からGoogle Apps Scriptを使ってメール送信 [C!]
以下、作成メモ。
† sendMailFromForm.js
今回使った Google Apps Script はこんな感じ。
// based on http://creazy.net/2011/03/google_form_mailsend.html
function sendMailFromForm() {
var subject = " からのお問い合わせ";
var body
= "------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+ "mail form script";
// メール送信先
var admin = "admin@example.com";
var cc = ""; // Cc:
var bcc = ""; // Bcc:
var reply = ""; // Reply-To:
var to = "mail_to@example.com";
try{
// スプレッドシートの操作
var sh = SpreadsheetApp.getActiveSheet();
var rows = sh.getLastRow();
var cols = sh.getLastColumn();
var rg = sh.getDataRange();
// メール本文作成
for (var j = 1; j <= cols; j++ ) {
var col_name = rg.getCell(1, j).getValue(); // カラム名
var col_value = rg.getCell(rows, j).getValue(); // 入力値
body += "【"+col_name+"】\n";
body += col_value + "\n\n";
if( col_name == "メールアドレス" ){ //フィールド名を指定
subject = col_value + subject;
}
}
body += footer;
// 送信先オプション
var options = {};
if ( cc ) options.cc = cc;
if ( bcc ) options.bcc = bcc;
if ( reply ) options.replyTo = reply;
// メール送信
MailApp.sendEmail(to, subject, body, options);
}catch(e){
MailApp.sendEmail(admin, "[Error] Googleフォームからメール送信中にエラーが発生", e.message);
}
}
作成が終わったら、フォームが更新されたときにメールが飛ぶようにトリガーを下記のように設定してやります。
† 送信されるメールのサンプル
上記でフォームが送信されると、下記のようなメールを受け取ることができます。
メールアドレス以外は項目名、項目数はなんでもかまいません。
Subject: user@example.com からのお問い合わせ
------------------------------------------------------------
【タイムスタンプ】
Mon Sep 24 2012 20:21:17 GMT+0900 (JST)
【お名前】
hsur
【会社名】
cles.jp 株式会社
【所属部署】
○○部
【メールアドレス】
user@example.com
【電話番号】
03-1234-5678
【お問い合わせ内容】
てすと
てすと
てすと
------------------------------------------------------------
mail form script
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5242
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
- crontab -r とやってしまった... (2)
- Jawbone Companion (beta) (1)
- GPS ロガーを自作 (1)
- MPC-HC で連続再生を行う(解... (1)
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(114414)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112937)
3 . 年次の人間ドックへ(112364)
4 . 2023 年分の確定申告完了!(1つめ)(111933)
5 . 三菱鉛筆がラミーを買収(111807)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112937)
3 . 年次の人間ドックへ(112364)
4 . 2023 年分の確定申告完了!(1つめ)(111933)
5 . 三菱鉛筆がラミーを買収(111807)
cles::blogについて
Referrers