Googleフォーム自動返信で、送信元のアドレスを自由に設定

前回Googleフォームを利用した、自動返信メールを記事を記載しました。

あわせて読みたい
【最新版 コピペでOK】Googelフォームを使って自動返信の問合せフォームを作る。 Googleフォームが新しくなったので、作成方法を新しく作成しなおしました。 今回は下記のようなフォームを作成します。 まずは、問合せフォームに必要なもの。 以下の3...

この方法だと、送信元のアドレスがscriptを作成した人のGmailアカウントになってしまいます。

この送信アドレスを自由に変更する方法を、今回は記載します。

Gmailで他のアドレスでメールを送信できるようにするのと、前回と同じスクリプトに少し手を加えればOKです。

目次

Gmailで他のアドレスでメールを送信できるようにする

  • Gmailの右上のギアアイコンをクリック
  • 全ての設定をクリック
  • アカウントとインポートを選択 をクリック
  • 他のメールアドレスを追加 をクリック

以下の画面が出るので、送信アドレスにしたいメールアドレスを記入

※自分が管理しているメールアドレスを入力します。

入力すると、記入したメールアドレスに パスコード と 承認用URLが記載されたメールが届きます。パスコードを入力してか、承認用URLをクリックすれば準備完了です。

以前のスクリプトに少し修正を加えればOKです。基本的には以下をコピペして 貰えればOKです。

function sendMailGoogleForm() {
  Logger.log('sendMailGoogleForm() debug start');

  //------------------------------------------------------------
  // 設定エリア
  //------------------------------------------------------------

  const subject = "[お問い合わせありがとうございます。]";
  const messageBody = `
  お問い合わせありがとうございます。
  後ほど担当者よりご連絡させていただきます。
  `; // 本文
  const NAME_COL_NAME = '名前';
  const MAIL_COL_NAME = 'メールアドレス';
  const adminName = "liapoc運営者";
  const adminEmail = "admin@example.com";
  const bccEmail = adminEmail;
  const replyEmail = adminEmail;

  //------------------------------------------------------------
  // メール送信オプション設定
  //------------------------------------------------------------
  
  const mailOptions = {
    name: adminName,
    bcc: bccEmail,
    replyTo: replyEmail
  };

  try {
    // スプレッドシートの操作
    const sheet = SpreadsheetApp.getActiveSheet();
    const lastRow = sheet.getLastRow();
    const dataRange = sheet.getDataRange();
    const headers = dataRange.getValues()[0];
    const lastRowData = dataRange.getValues()[lastRow - 1];

    let body = messageBody;
    let recipientName = "";
    let recipientEmail = "";

    // メール件名・本文作成と送信先メールアドレス取得
    headers.forEach((header, index) => {
      const value = lastRowData[index];
      body += `【${header}】\n${value}\n\n`;
      
      if (header === NAME_COL_NAME) {
        recipientName = value;
        body = `${recipientName} 様\n\n${body}`;
      }
      
      if (header === MAIL_COL_NAME) {
        recipientEmail = value;
      }
    });

    // メール送信
    if (recipientEmail) {
      GmailApp.sendEmail(recipientEmail, subject, body, {
        from: adminEmail,
        name: adminName
      });
    } else {
      MailApp.sendEmail(adminEmail, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
    }

  } catch (error) {
    MailApp.sendEmail(adminEmail, "【失敗】Googleフォームからメール送信中にエラーが発生", error.message);
  }
}

上のコードの、 const adminEmail = “admin@example.com” に、1で作成設定したアドレスを記載すればOKです。
const messageBody に返信文を記載してください。

設定周りで悩んだら、お気軽にご相談ください。
問合せの際は「web担当者を見た」とお伝えください。

この記事を書いた人

デジタルマーケティングに16年間従事しているMITSUIです。Google AnalyticsとGoogle Tag Managerが大好きで、これらのツールを活用した情報提供を行っています。ブログではデジタルマーケティングに関する情報や最新のトレンド、ベストプラクティスを紹介しています。

コメント

コメント一覧 (3件)

  • 突然失礼します。
    Googleフォームで、受付を作成しまして、自動返信を設定したのですが、そのアドレスの変更をしたいと思い、検索したところ、貴殿のページがヒットしました。
    この最初に書いてある「設定」のページ自体が、どこのことを指しているのか…?理解できずにいまして、コメントでお尋ねしたいとメッセージしました。
    よろしくお願い致します。

  • ご覧いただきありがとうございます!分かりづらく申し訳ありません。「設定」はGmailの設定アイコンになります。画像を追加しましたのでご確認ください。

  • Googleの設定である旨、画像の追加の回答をありがとうございました。よくわかりました!

    加えて、スクリプトのコードですが、コピペで使う様に提示頂いていますが、必要な部分が、どことどこなのか、分かる様に教えて頂きたいです…。
    自分のものに、見よう見まねで加えてみても、実行できず、何が足りないのか、間違いがわからないでいます。

コメントする

CAPTCHA


目次