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

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

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

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

Q&A

解決済

1回答

1043閲覧

【GAS】googleフォームからのメール自動配信 送信元アドレスの設定

coniii

総合スコア13

Google Apps Script

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

0グッド

1クリップ

投稿2018/10/23 01:30

下記コードでアドレスの部分ををグループアドレスに設定しているのですが、
送信元が私個人のアドレスから送信されていることになってしまいます。

// メール送信先
var admin = "アドレス"; // 管理者(必須)

グループアドレスは設定できないものなのでしょうか。
他のコードでわたし個人のアドレスを入力している箇所はないので、
スプレッドシート上の設定なるのでしょうか。

javascript

1function myFunction() { 2 3 4// 件名、本文、フッター 5var subject = "お申込書の送付"; 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 = '専用線ID'; //フォーム作成時に設定した項目名 33var BODY_FORM_NAME = '報告要否'; //フォーム作成時に設定した項目名 34var BODY_FORM_NAME = '特記事項'; //フォーム作成時に設定した項目名 35var BODY_FORM_NAME = 'primedrive送付キー' //フォーム作成時に設定した項目名 36 37// メール送信先 38var admin = "アドレス"; // 管理者(必須) 39var cc = ""; // Cc: 40var reply = admin; // Reply-To: 41var to = ""; // To: (入力者のアドレスが自動で入ります) 42 43//------------------------------------------------------------ 44// 設定エリアここまで 45//------------------------------------------------------------ 46 47try{ 48// スプレッドシートの操作 49var sh = SpreadsheetApp.getActiveSheet(); 50var rows = sh.getLastRow(); 51var cols = sh.getLastColumn(); 52var rg = sh.getDataRange(); 53Logger.log("rows="+rows+" cols="+cols); 54 55// メール件名・本文作成と送信先メールアドレス取得 56for (var j = 1; j <= cols; j++ ) { 57var col_name = rg.getCell(1, j).getValue(); // カラム名 58var col_value = rg.getCell(rows, j).getValue(); // 入力値 59  60 61if ( col_name === MAIL_COL_NAME ) {  //メールアドレス 62to = col_value; 63} 64if ( col_name === TIMESTAMP_LABEL ) { //タイムスタンプ⇒申込日時 65col_name = '申込日時'; 66} 67// 日付のフォーマットを指定。 68 69if (col_name === '希望日' && col_value != '') { // 2018/10/05修正 70col_value = Utilities.formatDate(col_value, 'Asia/Tokyo', "YYYY'年'MM'月'dd'日'"); 71} 72body += "【"+col_name+"】\n"; 73body += col_value + "\n\n"; 74} 75body += footer; 76 77 78 79// 送信先オプション 80var options = {}; 81if ( cc ) options.cc = cc; 82if ( reply ) options.replyTo = reply; 83 84// メール送信 85if ( to ) { 86MailApp.sendEmail(to, subject, body, options); 87}else{ 88MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); 89} 90}catch(e){ 91MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); 92} 93}

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

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

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

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

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

guest

回答1

0

ベストアンサー

MailAppではなくGmailAppを使用することでoptionfromを設定することができます。
ただし、Gmailの設定上でエイリアスとして登録してあることが前提です。

リファレンスを参照してください。

投稿2018/10/23 02:01

macaron_xxx

総合スコア3191

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

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

coniii

2018/10/25 00:58

回答ありがとうございます。送ることができました。ちなみにこの設定をするとCCが機能しないということはあるのでしょうか?
macaron_xxx

2018/10/25 02:17

Gmail上でもスクリプト上でもCCは問題なく機能します。 ただし、CCに自分自身をいれた場合などは、受信トレイに入らないなどは考えられます。(Gmailの仕様で自分自身が送信したメールはすべて送信済みトレイにまとめられます。) 別アカウントをCCにいれて試してみてもらえるとよいかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問