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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

2889閲覧

<GAS>Googleフォーム自動返信で、Bccを設定したい

tommy_t

総合スコア1

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/05/13 10:37

編集2021/05/13 11:14

前提・実現したいこと

GAS全くの初心者での質問で恐れ入ります。
GASを使用してGoogleフォーム自動返信で、Bccを設定したい。

発生している問題・エラーメッセージ

WEBサイトを参考に少しカスタマイズを行い、自動返信設定及び、送信元アドレスの変更を行うことができましたが、 Bccの設定がうまくいきません。 現状下記のソースコードを使用して実行してもToへの送信はできるのですが、Bccのメールアドレスにメールが届きません。 恐れ入りますがご教示いただけますと幸いです。

該当のソースコード

function myFunction() { Logger.log('sendMailGoogleForm() debug start'); //------------------------------------------------------------ // 設定エリアここから //------------------------------------------------------------ // 件名、本文、フッター var subject = "テスト"; var NUM = Math.floor( Math.random() * (9999 - 1000) + 1000 ); var body =“テスト” +"------------------------------------------------------------\n"; var footer = "------------------------------------------------------------\n\n" // 入力カラム名の指定 var MAIL_COL_NAME = 'メールアドレス'; // 新しく追加するところ----- var NUM_COL_NAME = '番号'; //----- // メール送信先 var admin = "test2@test.com"; // 管理者(必須)" var sendername = “テスト”;//送信者名(必須) var cc = ""; // Cc: var bcc = “test1@test.com; // Bcc: var reply = admin; // Reply-To: var to = ""; // To: (入力者のアドレスが自動で入ります) // 送信先オプション var options = {}; if ( bcc ) options.bcc = bcc; if ( reply ) options.replyTo = reply; //------------------------------------------------------------ // 設定エリアここまで //------------------------------------------------------------ try{ // スプレッドシートの操作 var sheet = SpreadsheetApp.getActiveSheet(); var rows = sheet.getLastRow(); var cols = sheet.getLastColumn(); var rg = sheet.getDataRange(); Logger.log("rows="+rows+" cols="+cols); // メール件名・本文作成と送信先メールアドレス取得 for (var i = 1; i <= cols; i++ ) { var col_name = rg.getCell(1, i).getValue(); // カラム名 var col_value = rg.getCell(rows, i).getValue(); // 入力値 if ( col_name === MAIL_COL_NAME ) { to = col_value; } } //------ // メール送信 if ( to ) { GmailApp.sendEmail( to, //toアドレス subject, //表題 body, //本文 { from: admin, //fromアドレス name: sendername //差出人 } ); }else{ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); } }catch(e){ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); } }
ソースコード

試したこと

https://teratail.com/questions/198787
こちらを参考に下記のように修正しましたが、
optionsを記載しない場合はエラーが発生せずToにのみ届く。
optionsを記載した場合は下記エラーが発生しToにも届きません。

The parameters (String,String,String,(class),(class)) don't match the
method signature for GmailApp.sendEmail.

GmailApp.sendEmail( to, //toアドレス subject, //表題 body, //本文 options,

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

itagagaki

2021/05/13 10:58

ご説明があいまいですが、optionsを使わない場合はエラーが発生せず届かず、optionsを使うとエラーが発生して終了するということですか?エラーというのは具体的にどんなエラーですか?
tommy_t

2021/05/13 11:01

コメントありがとうございます。 わかりづらくすみません。 optionsを使わない場合はエラーが発生せずToにのみ届く。 optionsを記載した場合は下記エラーが発生しToにも届きません。 The parameters (String,String,String,(class),(class)) don't match the method signature for GmailApp.sendEmail.
guest

回答1

0

ベストアンサー

質問の最初のコードではGmailApp.sendEmailの4つめの引数optionsの中にbccが含まれていないので、Bccのメールアドレスにメールが届かないのは当然ですね。

そして、引数にoptionsを与えた場合ですが、エラーメッセージからすると、引数が5個になっちゃっていると思います。options.bcc options.from options.name をセットした上で、GmailApp.sendEmail(to, subject, body, options);すれば良いのかなと。

関係ないですけどオプションにreplyToもありましたっけ?

投稿2021/05/13 11:41

itagagaki

総合スコア8402

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

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

tommy_t

2021/05/13 12:00

回答ありがとうございます。 ご指摘の通りに修正をしたところ正しくto,Bccともに送信されるようになりました。 非常に助かりました。 オプションにreplyToに関しましては勉強不足でわかりません。申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問