SmartContact

自社開発: 既存の通知メールに AI 解析を追記する

自社開発のお問い合わせフォーム (PHP / Node / Laravel / Rails / Django 等) で、SDK が挿入する hidden input を読み取って通知メール本文末尾に AI 解析を追記する手順です。確認画面の有無や SPA など、実装パターン別に説明します。

注意: 送信者宛の自動返信メールには絶対に差し込まないで ください。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. テスト用に自分宛の問い合わせを 1 件送信する
  2. 担当者通知メールが届いたら、本文末尾に「━━━ SmartContact AI 解析 ━━━」セクションが付いていることを確認
  3. 付いていない場合は、サーバー側ログで $_POST['smartcontact_meta_text'] が空でないか確認
← マニュアルトップへ戻る