

完全なスクリプト初心者です。

ネット等で検索して、以下のスクリプトを設定することに成功いたしました。  
ここに、送信元を別に追加設定したいのですが、

[code]

    GmailApp.sendEmail(address,title,body,{
      from:'メールアドレス',name:'差出人'
    });
    
[/code]

上記のような記述を試行錯誤してトライしたのですが、  
基本的な構文概念がないので、エラーで上手に設定できませんでした。

どなたかお教えいただけたら大変嬉しく存じます。何卒よろしくお願いいたします。  
以下のスクリプトに追加して、正常に設定したいです。

[code]

    function sendMailGoogleForm() {
      Logger.log('sendMailGoogleForm() debug start');
    
      //------------------------------------------------------------
      // 設定エリアここから
      //------------------------------------------------------------
    
      // 件名、本文、フッター
      var subject = "【受付票】";
      var body
       = "●●でございます。\n"
      +"この度はお申込をいただき誠にありがとうございます。\n"
      +"当日お会いできることを心よりお待ち申し上げております。\n\n"
      +"\n\n"
      + "------------------------------------------------------------\n";
      var footer
      = "------------------------------------------------------------\n\n"
      + "";
    
      // 入力カラム名の指定
      var NAME_COL_NAME = 'お名前';
      var MAIL_COL_NAME = 'メールアドレス';
      var address = "";
    
      // メール送信先
      var admin = "event@events.●●.jp"; // 管理者（必須）
      var cc = ""; // Cc:
      var bcc = admin; // Bcc:
      var reply = admin; // Reply-To:
      var to = ""; // To: （入力者のアドレスが自動で入ります）
    
      //------------------------------------------------------------
      // 設定エリアここまで
      //------------------------------------------------------------
    
      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(); // 入力値
          body += "【"+col_name+"】\n";
          body += col_value + "\n\n";
          if ( col_name === NAME_COL_NAME ) {
           body = col_value+" 様\n\n"+body;
          }
          if ( col_name === MAIL_COL_NAME ) {
           to = col_value;
          }
        }
        body += footer;
    
        // 送信先オプション
        var options = {};
        if ( cc ) options.cc = cc;
        if ( bcc ) options.bcc = bcc;
        if ( reply ) options.replyTo = reply;
    
        // メール送信
        if ( to ) {
          MailApp.sendEmail(to, subject, body, options);
        }else{
          MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
        }
      }catch(e){
        MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
      }
    }
    
[/code]


CC BY-SA 3.0
2017-01-31T09:42:37.553
32280
2017-03-04T05:59:06.397
2017-01-31T10:57:37.520
19110
20465
question
google-apps-script
Googleフォームの自動返信スクリプトに送信元設定を追加したい。


GmailApp sendMail の options の from 項目については、  
実行Gアカウントのエイリアスや代理送信者に登録されている必要があります。  
セキュリティ上の理由だと思います。好きなメールアドレスを指定できるとスパムですからね。

自分も最近同じようなツールを作成したのですが、  
代理送信者は指定メールアドレスに Google からメールを送信し、  
そこに書いてある認証コードを入力することで設定できます。

エイリアスについては、こちらを参考にしてはいかがでしょうか?  
<https://www.ka-net.org/blog/?p=4441>

いずれにしても、実行アカウントの G メールをブラウザで開き、  
新規メールの送信者が選択できるようになっていれば成功です。


CC BY-SA 3.0
2017-02-01T09:34:06.657
32305
2017-02-01T09:34:06.657
12906
32280
answer