web-dev-qa-db-ja.com

Googleフォームが送信されたときにメールを送信するにはどうすればよいですか?

フォームの送信後に通知メールを送信するにはどうすればよいですか?

私はGoogleフォームを持っているので、それを開いてメニューMore-> Script Editorに移動し、スクリプトを追加します。

function OnSubmit(e) {
  MailApp.sendEmail ("[email protected]", "Form Submited: Foo feedback " + Date.now(), "Form Submited: Foo feedback");
}

スクリプトを保存し、実行ボタンを押して機能することをテストします。メールは[email protected]に配信されます。

次に、Googleフォームに入力しましたが、メールが[email protected]メールボックスに届きません。

追伸「フォームの電子メール通知」プラグインは多くの特権へのアクセスを要求するため、使用したくありません。 「フォーム通知」を使用したくないのは、何らかの理由で機能しないためです(メールが配信されません)。

8
Wojtek

最後にそれを見つけました

  • フォームモードの編集
  • Responsesタブ
  • ...メニューボタン
  • Get email notifications for new responses

enter image description here

5
angularsen

送信時に電子メールを送信するには、このスクリプトを保存し、スクリプトエディターでテストして(およびアクセス許可のポップアップが表示されたら受け入れて)、フォームを送信する必要があります。

スクリプトは送信トリガーを探しますが、見つからない場合は、電子メールを送信する新しいトリガーを追加します。

function respondToFormSubmit() {
   MailApp.sendEmail ("[email protected]", "Form Submited: Foo feedback " + Date.now(), "Form Submited: Foo feedback");
}

var form = FormApp.getActiveForm();
var triggers = ScriptApp.getUserTriggers(form);

var existingTrigger = null;
for (var i = 0; i < triggers.length; i++) {
  if (triggers[i].getEventType() == ScriptApp.EventType.ON_FORM_SUBMIT) {
    existingTrigger = triggers[i];
    break;
  }
}
if (!existingTrigger) {
  var form = FormApp.getActiveForm();
  var trigger = ScriptApp.newTrigger('respondToFormSubmit')
  .forForm(form)
  .onFormSubmit()
  .create();
}
3
Wojtek

enter image description here

より簡単な方法は、「ツール」の下の「通知ルール...」アイテムを使用することです。

enter image description here

0
Vladimir Brasil