PHPでメールフォームを作るのが難しい私的に先生からsendメールも送れる様の作り方を教えて頂きました。
入力フィールド(テキスト)を作成
- テキストを選択、「質問のタイトル」を「お名前」にする
アイテムを追加
- テキストを選択、「質問のタイトル」を「メールアドレス」にする
- エラーチェック:@が記入されない場合は、エラーを返す
アイテムを追加
- テキストを選択、「質問のタイトル」を「件名」にする
アイテムを追加
- 段落テキストを選択、「質問のタイトル」を「お問い合わせ内容」にする
「回答先を選択する」をクリック
「新規スプレッドシート」を選択し、任意のシート名を入力
確認ページに表示する内容を記述
「回答を表示」をクリックする
「ツール」→「スクリプトエディタ」を選択
function sendMailFromForm() {
Logger.log('sendMailFromForm() debug start');
var subject = "[お問い合わせ]";
var body
= "お問い合わせありがとうございます。\n\n"
+ "------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+ "後ほど担当者よりご連絡させていただきます。";
var NAME_COL_NAME = 'お名前';
var MAIL_COL_NAME = 'メールアドレス';
var SUBJ_COL_NAME = '件名';
var admin = "admin@example.com";
var cc = "";
var bcc = admin;
var reply = admin;
var to = "";
try{
var sh = SpreadsheetApp.getActiveSheet();
var rows = sh.getLastRow();
var cols = sh.getLastColumn();
var rg = sh.getDataRange();
Logger.log("rows="+rows+" cols="+cols);
for (var j = 1; j <= cols; j++ ) {
var col_name = rg.getCell(1, j).getValue();
var col_value = rg.getCell(rows, j).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;
}
if ( col_name === SUBJ_COL_NAME ) {
subject += 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);
}
}
「リソース」→「現在のプロジェクトのトリガー」をクリック
「プロジェクト名」を記述して「OK」
「トリガー設定されていません。」をクリック
最後のプルダウンを「フォーム送信時」に変更し、保存する
- [sendMailFromForm][スプレッドシートから][フォーム送信時]の順
承認を聞かれるので「続行」
フォームを送信
- 「共有するリンク - 埋め込む」で、iframeソースコードを取得
- HTMLドキュメントにiframeソースコードを貼り付ける
- サーバーにアップロードして完了