質問: e.response.getRespondentEmail(); GmailApp.sendEmail("テスト用に送信する先のメールアドレス", "test"、userId); } ``` コードとしては間違いないと思うのですがなぜうまくいかないのか教えていただけないでしょうか。 フォームの設定など問題ありましたらそれについても教えていただきたいです。 ちなみに、フォームの設定はこのような感じになっています。後者の「メールアドレスを収集する」はメールアドレスを入力する必要が出てきますのでチェックを外しております。 ![](https://teratail.storage.googleapis.com/uploads/contributed_images/617319ce8bf55d4c2510a9cc9dd48deb.png) ![](https://teratail.storage.googleapis.com/uploads/contributed_images/daed5fff8a8dcd836ed90e8a8edc29d4.png) 以上、よろしくお願いいたします。
回答: 設定画面で「メールアドレスを収集」を有効にしなければ、e.response.getRespondentEmail()には何もセットされません(エラーにもなりません)。 自社社員向けフォームでメールアドレスを入力させないで、e.response.getRespondentEmail()にユーザーアカウント(eメールアドレス)をセットするためには、 設定画面で「メールアドレスを収集」を有効にし、かつ「ログインが必要」で自社ドメインユーザーに限定する必要があります。 設定画面で「メールアドレスを収集」を有効にしても、「ログインが必要」で自社ドメインユーザーに限定しなければ、メールアドレス入力が必須設問になり、そこに手入力されたメールアドレスがe.response.getRespondentEmail()にセットされます。 「デフォルトの設定」は各自が毎回フォームを作成しだす時に、初めに適用しておく、まさに言葉通りデフォルトの設定です。