前回Googleフォームを利用した、自動返信メールを記事を記載しました。
この方法だと、送信元のアドレスがscriptを作成した人のGmailアカウントになってしまいます。
この送信アドレスを自由に変更する方法を、今回は記載します。
Gmailで他のアドレスでメールを送信できるようにするのと、前回と同じスクリプトに少し手を加えればOKです。
Gmailで他のアドレスでメールを送信できるようにする
- Gmailの右上のギアアイコンをクリック
- 全ての設定をクリック
- アカウントとインポートを選択 をクリック
- 他のメールアドレスを追加 をクリック
以下の画面が出るので、送信アドレスにしたいメールアドレスを記入
※自分が管理しているメールアドレスを入力します。
入力すると、記入したメールアドレスに パスコード と 承認用URLが記載されたメールが届きます。パスコードを入力してか、承認用URLをクリックすれば準備完了です。
以前のスクリプトに少し修正を加えればOKです。基本的には以下をコピペして 貰えればOKです。
function sendMailGoogleForm() { Logger.log('sendMailGoogleForm() debug start'); //------------------------------------------------------------ // 設定エリアここから //------------------------------------------------------------ // 件名、本文、フッター var subject = "[お問い合わせありがとうございます。]"; var body = "お問い合わせありがとうございます。\n\n" + "------------------------------------------------------------\n"; var footer = "------------------------------------------------------------\n\n" + "後ほど担当者よりご連絡させていただきます。"; // 入力カラム名の指定 var NAME_COL_NAME = '名前'; var MAIL_COL_NAME = 'メールアドレス'; // メール送信先 var admin_name ="liapoc運営者";//送信メールの名前 var admin = "admin@example.com"; // 先程作成したアドレスに書換 var bcc = admin;// bccがいらない場合は、adminを""に書換 var reply = admin; var to = ""; // To: (入力者のアドレスが自動で入ります) // 送信先オプション var options = {}; if ( admin_name ) options.name = admin_name; 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(); // 入力値 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; // メール送信 if ( to ) { /* メールを送信 */ GmailApp.sendEmail( to, //toアドレス subject, //表題 body, //本文 { from: admin, //fromアドレス name: admin_name //差出人 } ); }else{ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); } }catch(e){ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); } }
上のコードの、var admin = “admin@example.com” に、1で作成設定したアドレスを記載すればOKです。
コメント
突然失礼します。
Googleフォームで、受付を作成しまして、自動返信を設定したのですが、そのアドレスの変更をしたいと思い、検索したところ、貴殿のページがヒットしました。
この最初に書いてある「設定」のページ自体が、どこのことを指しているのか…?理解できずにいまして、コメントでお尋ねしたいとメッセージしました。
よろしくお願い致します。
ご覧いただきありがとうございます!分かりづらく申し訳ありません。「設定」はGmailの設定アイコンになります。画像を追加しましたのでご確認ください。
Googleの設定である旨、画像の追加の回答をありがとうございました。よくわかりました!
加えて、スクリプトのコードですが、コピペで使う様に提示頂いていますが、必要な部分が、どことどこなのか、分かる様に教えて頂きたいです…。
自分のものに、見よう見まねで加えてみても、実行できず、何が足りないのか、間違いがわからないでいます。