「自動返信の本文を自由にしたい」「送信元(From)をクライアントのアドレスにしたい」という要望はよくあります。本記事では、**方式A(あなたのGmailから“正規に”そのアドレスで送る)**を使い、本文の自由化+送信元の変更を同時に実現する手順を解説します。ポイントは Gmailの“送信元エイリアス(Send mail as)” を事前に登録・確認することです。
Apps Scriptで送る
- フォーム → ︙ → スクリプトエディタ
- 例(許可済みエイリアスで送信):
- トリガーで「フォーム送信時」を追加
- エラー時はfromが未登録/権限不足の可能性を確認
まず、送信元が変更できるように、メールアドレスを、Gmailに追加します。登録方法は、今日から使える!Gmail差出人切替・他アカ取り込み・代理操作にまとめましたので、参考の一つとしてご活用ください。
準備
- 事前登録した送信元エイリアスは、Gmail の「アカウントとインポート」設定、名前から登録します。
- メールアドレスを収集する↠「回答者からの入力」を選択します。
- 「回答」↠「スプレッドシートシートにリンク」をクリックしてください。
そして、シートのIDと、タブの名前を入力します。
function onFormSubmit(e) {
try {
const spreadsheetId = ""; // あなたのシートID
const sheetName = "フォームの回答 1"; // タブの名前
const sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
const lastRow = sheet.getLastRow();
const row = sheet.getRange(lastRow, 1, 1, sheet.getLastColumn()).getValues()[0];
const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
// ヘッダーとデータを対応させる
const v = {};
headers.forEach((h, i) => v[h] = [row[i]]);
// 「メールアドレス」列を取得
const to = v['メールアドレス'][0];
// 本文生成(控えなし、ありがとうだけ)
const subject = 'ご回答ありがとうございます';
const bodyHtml = `
<p>このたびはご回答いただき誠にありがとうございました。</p>
`;
// メール送信
GmailApp.sendEmail(to, subject, 'text fallback', {
htmlBody: bodyHtml,
from: 'xxx@xxxx.xxx'
});
} catch (err) {
console.error('onFormSubmit error:', err);
}
}JavaScriptトリガー設定
- 左メニュー時計🕑マークの「トリガー」 をクリック
- 下記のように設定します:
- 実行する関数を選択 → onFormSubmit
- 実行するデプロイを選択 → Head
- イベントのソースを選択 → フォームから
- イベントの種類を選択 → フォーム送信時
- 保存すると、権限の承認画面が出ます。
→ 「続行」→「自分のGoogleアカウント選択」→「許可」

一度、手動で、「実行」します。エディタに戻って、実行の許可をします。
テストで、実際にフォームから回答を送信してみましょう。

