質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

1回答

2897閲覧

Googleドキュメントのフォーム機能からGoogle Apps Scriptを使ってメール送信する場合の質問

perm25ag

総合スコア8

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2016/12/16 12:10

###実現したいこと
googleフォームからメール送信したいのですが、
件名に2つ以上の項目を動的に表示させる方法がわかりません。

WEB上で、

function sendForm(e){
// 件名、本文
var subject = ''; //件名は一旦空っぽにする
var body = "問い合わせ内容n------------------------------------------------------------"; //本文

// 入力カラム名の指定
var PRE='nn[';
var AFT=']nn';
var NAME_FORM_NAME = 'お名前'; //フォーム作成時に設定した項目名
var MAIL_FORM_NAME = 'メールアドレス'; //フォーム作成時に設定した項目名
var BODY_FORM_NAME = '内容'; //フォーム作成時に設定した項目名

// メール送信先
var to = "hogehoge@gmail.com";

var subject = e.namedValues[NAME_FORM_NAME];
subject = "【お問い合わせきたよ】" + subject + "様より";
//↑ここでは、subject=[お問い合わせをした人の名前]です

var name = e.namedValues[NAME_FORM_NAME];
body+=PRE+NAME_FORM_NAME+AFT+name;
var mailAddress = e.namedValues[MAIL_FORM_NAME];
body+=PRE+MAIL_FORM_NAME+AFT+mailAddress;
var content = e.namedValues[BODY_FORM_NAME];
body+=PRE+BODY_FORM_NAME+AFT+content+"n";
MailApp.sendEmail(to, subject, body); //メールを送信

}

を見つけたのですが、例えば「お名前」「内容」を
メール件名に表示させるにはどうしたらよいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

以下で運用してます。

JavaScript

1function sendForm(e){ 2 3 var TimeStamp; 4 var Name; 5 var Address; 6 var Subject; 7 var Comment; 8 9 var itemResponses = e.response.getItemResponses(); 10 TimeStamp = e.response.getTimestamp(); 11 for (var j = 0; j < itemResponses.length; j++) { 12 var itemResponse = itemResponses[j]; 13 switch( itemResponse.getItem().getTitle() ){ 14 case 'お名前': 15 Name = itemResponse.getResponse() 16 break; 17 case 'メールアドレス': 18 Address = itemResponse.getResponse() 19 break; 20 case '件名': 21 Subject = itemResponse.getResponse() 22 break; 23 case '内容': 24 Comment = itemResponse.getResponse() 25 break; 26 } 27 } 28 29 var mail_to = 'to@______.co.jp'; 30 var subject = "ホームページからの問い合わせ:["+Subject+"]from "+Name; 31 var body = "ホームページからの問い合わせがありました\n\n" 32 + "時間:" + TimeStamp + "\n" 33 + "お名前:" + Name + " 様\n" 34 + "メールアドレス:" + Address + "\n" 35 + "件名:" + Subject + "\n" 36 + "コメント:\n" + Comment; 37 var mail_bcc = "bcc@______.co.jp"; 38 var mail_reply = 'reply@______.co.jp'; 39 MailApp.sendEmail(mail_to, subject,body, {replyTo:mail_reply,bcc: mail_bcc,noReply:true}); 40}

投稿2017/01/07 08:41

編集2017/02/07 16:37
hikochang

総合スコア648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問