2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TransmitMailの件名に入力内容を埋め込む

Posted at

Transmit Mail の 非公式な編集です

 TransmitMailがすごくいいので個人のWEBサイトの制作でよく使わせていただくんですが、今回件名に入力内容を埋め込む必要があったのでメモしてみました(色々ハマってみました)。

※ 非公式な修正です。フォームなので注意して下さい。
※ 私はPHPは全くわかりません。

TransmitMailとは

dounokounoさん作成のCopyright表示不要のPHP製汎用メールフォームシステムです。
github: https://github.com/dounokouno/TransmitMail

編集するファイル

input.htmlとconf/config.phpの2ファイルになります。
今回は、ラジオボタンで選択した問い合わせ内容がメールの件名に入るという内容で記載します。

input.html

フォームパーツの部分を該当箇所のみ抜粋します。

input.html
<tr class="form">
  <th class="form">お問い合せの種類<span class="notice">*<span></th>
  <td>
    <input class="form" type="radio" name="お問い合わせの種類" value="項目1" id="radio1" {$checked.お問い合わせの種類.項目1} {$checked.default} />
    <label for="radio1">項目1</label><br >
    <input class="form" type="radio" name="お問い合わせの種類" value="項目2" id="radio2" {$checked.お問い合わせの種類.項目2} />
    <label for="radio2">項目2</label><br >
    <input class="form" type="radio" name="お問い合わせの種類" value="項目3" id="radio3" {$checked.お問い合わせの種類.項目3} />
    <label for="radio3">項目3</label><br >
  </td>
</tr>

このような感じ。

config.php

25行目くらいの件名の設定のところを以下の様子で編集します。

config.php
require_once('lib/common.php');
$_POST = delete_nullbyte($_POST);
$_POST = safe_strip_slashes($_POST);
define('TO_SUBJECT', '[テスト株式会社]お問い合わせ - ' . $_POST['お問い合わせの種類']);

説明

$_POST がフォームで記入された文字列を抱え込んでいるようなので、おそらくこの連想配列と思われるデータ群の中から欲しい文字列のキーを指定してあげると取得できるご様子です。

キーはinput.htmlにある一連にパーツのなかで、inputタグのname属性となっています。

あとはconfig.phpのdefineでTO_SUBJECTという定数が指定されているところに、作成したい件名と文字列を 連結してあげれば完了です。

最後に

Transmit Mailの作者さんであるdounokounoさんありがとうございます。
いつも便利に使わせて頂いております。

2
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?