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

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

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

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

Q&A

解決済

2回答

1422閲覧

【GAS】googleフォームからのメール自動配信 CCの設定・件名の変更について

coniii

総合スコア13

Google Apps Script

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

0グッド

0クリップ

投稿2018/10/25 01:27

下記スクリプトはgoogleフォームから入力した情報をメール自動配信するスクリプトですが、
ccが反映されない状態になっています。
何かスクリプトに不具合ありますでしょうか。

ちなみにfromとccのグループアドレスは同一のアドレスにする予定です。

また、メールの件名をgoogleフォームで入力した申込者名を自動で反映させたいのですが
スクリプトがわかりません。

ご教示頂けたら幸いです。

javascript

1function myFunction() { 2 3 4// 件名、本文、フッター 5var subject = "件名"; //googleフォームの申込者名を自動反映させたい 6var body 7 ="ご担当者様\n\n" 8 +"お疲れ様です。\n\n" 9 + "以下の内容にてお申込みがありましたのでご対応をお願い致します。\n" 10 + "---------------------------------------------------------------------------------\n"; 11var footer 12 = "---------------------------------------------------------------------------------\n\n" 13 + "どうぞよろしくお願い致します。\n" 14 15 16+ "====================================================\n" 17署名 18+ "====================================================\n" 19 20 21// 入力カラム名の指定 22var NAME_COL_NAME = '申込者名'; 23var MAIL_COL_NAME = 'メールアドレス'; 24var TIMESTAMP_LABEL = 'タイムスタンプ'; 25var BODY_FORM_NAME = '担当者'; //フォーム作成時に設定した項目名 26var BODY_FORM_NAME = '申込書番号'; //フォーム作成時に設定した項目名 27var BODY_FORM_NAME = '申込種別'; //フォーム作成時に設定した項目名 28var BODY_FORM_NAME = '契約種別'; //フォーム作成時に設定した項目名 29var BODY_FORM_NAME = '希望日'; //フォーム作成時に設定した項目名 30var BODY_FORM_NAME = '申込者名'; //フォーム作成時に設定した項目名 31var BODY_FORM_NAME = '電話番号'; //フォーム作成時に設定した項目名 32var BODY_FORM_NAME = '交換所'; //フォーム作成時に設定した項目名 33var BODY_FORM_NAME = '専用線ID'; //フォーム作成時に設定した項目名 34var BODY_FORM_NAME = '報告要否'; //フォーム作成時に設定した項目名 35var BODY_FORM_NAME = '特記事項'; //フォーム作成時に設定した項目名 36 37 38// メール送信先 39var admin_name ="チーム名";//送信メールの名前 40var admin = "グループアドレス"; // 管理者(必須) 41var cc = "グループアドレス"; // Cc: 42var reply = admin; // Reply-To: 43var to = ""; // To: (入力者のアドレスが自動で入ります) 44 45 46//------------------------------------------------------------ 47// 設定エリアここまで 48//------------------------------------------------------------ 49 50try{ 51// スプレッドシートの操作 52var sh = SpreadsheetApp.getActiveSheet(); 53var rows = sh.getLastRow(); 54var cols = sh.getLastColumn(); 55var rg = sh.getDataRange(); 56Logger.log("rows="+rows+" cols="+cols); 57 58// メール件名・本文作成と送信先メールアドレス取得 59for (var j = 1; j <= cols; j++ ) { 60var col_name = rg.getCell(1, j).getValue(); // カラム名 61var col_value = rg.getCell(rows, j).getValue(); // 入力値 62  63 64if ( col_name === MAIL_COL_NAME ) {  //メールアドレス 65to = col_value; 66} 67if ( col_name === TIMESTAMP_LABEL ) { //タイムスタンプ⇒申込日時 68col_name = '申込日時'; 69} 70// 日付のフォーマットを指定。 71 72if (col_name === '希望日' && col_value != '') { // 修正 73col_value = Utilities.formatDate(col_value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'"); 74} 75body += "【"+col_name+"】\n"; 76body += col_value + "\n\n"; 77} 78body += sh.getParent().getUrl(); 79body += "\n"; 80body += footer; 81 82 83// 送信先オプション 84var options = {}; 85if ( cc ) options.cc = cc; 86if ( reply ) options.replyTo = reply; 87 88// メール送信 89if ( to ) { 90//メールを送信 91 92GmailApp.sendEmail(to, subject, body, { 93 from: admin, //fromアドレス 94 name: admin_name //差出人 95 } 96 ); 97}else{ 98MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); 99} 100}catch(e){ 101MailApp.sendEmail(admin,"【失敗】Googleフォームからメール送信中にエラーが発生",e.message); 102} 103} 104

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

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

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

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

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

guest

回答2

0

ベストアンサー

①ちなみにfromとccのグループアドレスは同一のアドレスにする予定です。
おそらくグループアドレスには送信できていると思います。
あなた自身に届いていないように見えるのは、送信済みトレイにまとめられているからです。
グループに所属する他の方や、グループのスレッドに投稿されていないか(設定によりますが)を確認してみてください。

②スクリプト上で、スプレッドシートから送信先メールアドレスなどを取得されていますが、
それと同じ方法では取得できませんか?
どこがわからないのかをもう少し明確にしてください。

投稿2018/10/25 02:21

macaron_xxx

総合スコア3191

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

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

coniii

2018/10/26 08:29 編集

```javascript if ( col_name === NAME_COL_NAME ) {  //件名にsubjectで指定した文字+申込者者名を反映 subject = subject + col_value; ``` 対応して反映はされるのですが、反映する際に col_valueのところに【】を挟みたいのですが、上手く反映されない状態です。
coniii

2018/10/26 08:33

すみません解決しました。ありがとうございました。
guest

0

javascript

1GmailApp.sendEmail(to, subject, body, { 2 from: admin, //fromアドレス 3 name: admin_name, //差出人 4 cc: cc, // // // // // // // // // // // // // // //<-ここ 5 }

投稿2018/10/25 02:19

papinianus

総合スコア12705

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

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

coniii

2018/10/26 08:29

対応できました。ありがとうございます。
papinianus

2018/10/26 08:46

teratailは、QAプラットフォームなんです できた、ではなく、何をどうやって解決したかを共有してください 質問者様がやっておられることは、こうやって構築されているこのサイト全体に対する「ただ乗り」です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問