注意: 送信者宛の自動返信メールには絶対に差し込まないで ください。AI の評価結果がお客様 (問い合わせ送信者) に届いてしまいます。 差し込むのは「担当者通知メール (社内に届く方)」だけです。
1実装パターンを選ぶ
サーバー側受信処理で $_POST['smartcontact_meta_text'] を読み取り、メール本文に追加するだけ。SDK 側の追加設定は不要です (= SDK が 勝手に hidden input を form に挿入してくれている)。
ステップ 1: PHP の例 (素の mail / mb_send_mail)
<?php
$body = "お名前: " . $_POST['name'] . "\n";
$body .= "メール: " . $_POST['email'] . "\n";
$body .= "本文:\n" . $_POST['message'] . "\n";
// SmartContact が挿入した hidden input を末尾に追加
if (!empty($_POST['smartcontact_meta_text'])) {
$body .= "\n----- AI 解析 -----\n";
$body .= $_POST['smartcontact_meta_text'];
}
mb_send_mail('staff@example.com', '【お問い合わせ】', $body);ステップ 2: Node.js の例 (Express + nodemailer)
import nodemailer from "nodemailer";
app.post("/contact", async (req, res) => {
const { name, email, message, smartcontact_meta_text } = req.body;
let body = `お名前: ${name}\nメール: ${email}\n本文:\n${message}\n`;
if (smartcontact_meta_text) {
body += `\n----- AI 解析 -----\n${smartcontact_meta_text}`;
}
await transporter.sendMail({
to: "staff@example.com",
subject: "【お問い合わせ】",
text: body,
});
res.redirect("/contact/thanks");
});ステップ 3: フレームワークでの一般的な対応
- Laravel:
$request->input('smartcontact_meta_text')を Mailable の view データとして渡し、Blade テンプレートで描画 - Rails:
params[:smartcontact_meta_text]を ActionMailer に渡してビューで描画 - Django:
request.POST.get('smartcontact_meta_text')を取得してメール本文に append
2動作確認
- テスト用に自分宛の問い合わせを 1 件送信する
- 担当者通知メールが届いたら、本文末尾に「━━━ SmartContact AI 解析 ━━━」セクションが付いていることを確認
- 付いていない場合は、サーバー側ログで
$_POST['smartcontact_meta_text']が空でないか確認