1. Qiita
  2. 投稿
  3. TransmitMail

TransmitMail 2 の送信メールの件名に POST パラメータを利用する

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    TransmitMail 2 の送信メールの件名に POST パラメータを利用するカスタマイズ例をご紹介します。

    開発および動作確認環境

    開発および動作確認環境は下記の通りです。

    • TransmitMail: 2.0.0
    • PHP: 5.6.10

    input.html に入力フィールドを追加する

    input.html に下記のような入力フィールドを追加します。

    input.html
    <table>
        <tr>
            <th>お名前</th>
            <td>
                <input type="text" name="お名前" value="{$お名前}">
            </td>
        </tr>
    </table>
    

    config.yml を修正する

    config/config.ymlto_subjectお問い合わせ とします。

    config/config.yml
    config:
        to_subject: お問い合わせ
    

    exTransmitMail.php を作成する

    TransmiMail クラスを継承した exTransmiMail クラスを lib/exTransmitMail.php に作成します。

    lib/exTransmitMail.php
    <?php
    class exTransmitMail extends TransmitMail
    {
    }
    

    exTransmitMail クラスに機能を実装する

    メール送信の前の処理となる afterSetTemplateProperty メソッドを追加し、そこに処理を書いていきます。( afterXXX メソッドについては Wiki をご参照ください。)

    lib/exTransmitMail.php
    /**
     * メール送信の前の処理
     */
    public function afterSetTemplateProperty()
    {
        if ($this->page_name === 'finish') {
            if (!empty($this->post['お名前'])) {
                $this->config['to_subject'] = $this->post['お名前'] . '様からの' . $this->config['to_subject'];
            }
        }
    }
    

    index.php を修正する

    index.phplib/exTransmitMail.php の読み込みと TransmitMail クラスではなく exTransmitMail クラスを利用するように修正します。

    index.php
    <?php
    require_once 'lib/TransmitMail.php';
    require_once 'lib/exTransmitMail.php';
    $tm = new exTransmitMail('config/config.yml');
    $tm->run();
    

    動作確認

    メールの件名に お名前 の内容が入っていることが確認できました。

    まとめ

    以上、TransmitMail 2 の送信メールの件名に POST パラメータを利用するカスタマイズ例をご紹介でした。こんな感じでカスタマイズすることで、TransmitMail本体には手を加えずにカスタマイズすることが可能です。

    今回のカスタマイズのコードは下記ブランチで公開をしています。

    dounokouno/TransmitMail at example_dynamic_mail_subject

    修正ファイルは下記のコミットをご参照ください。

    送信メールの件名に「お名前」フィールドの値を挿入するカスタマイズ例 · dounokouno/TransmitMail@85d82f2

    Comments Loading...