前回Googleフォームを利用した、自動返信メールを記事を記載しました。
この方法だと、送信元のアドレスが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 に返信文を記載してください。
コメント
コメント一覧 (3件)
突然失礼します。
Googleフォームで、受付を作成しまして、自動返信を設定したのですが、そのアドレスの変更をしたいと思い、検索したところ、貴殿のページがヒットしました。
この最初に書いてある「設定」のページ自体が、どこのことを指しているのか…?理解できずにいまして、コメントでお尋ねしたいとメッセージしました。
よろしくお願い致します。
ご覧いただきありがとうございます!分かりづらく申し訳ありません。「設定」はGmailの設定アイコンになります。画像を追加しましたのでご確認ください。
Googleの設定である旨、画像の追加の回答をありがとうございました。よくわかりました!
加えて、スクリプトのコードですが、コピペで使う様に提示頂いていますが、必要な部分が、どことどこなのか、分かる様に教えて頂きたいです…。
自分のものに、見よう見まねで加えてみても、実行できず、何が足りないのか、間違いがわからないでいます。