KENT-WEB サポートコーナー 過去ログ [ 0432 ]


記事No: 15351
投稿日: 2017/01/30(Mon) 22:27:16
タイトルPOST-MAIL 送信メールデザイン変更について
ID情報: youchama
投稿者: youchama
URLhttp://mitsukaido.co.jp/

PostMail標準フォームメールVer: 8.02 (UTF-8版)を使わせていただこうとしています。

tmplフォルダのmail.txtを編集すればメッセージ本文の内容やデザイン変更ができるとのことですが
ファイルを開くと

------------------------------------------------------------
▼送信内容
------------------------------------------------------------
!message!

とあり、これがなぜ

------------------------------------------------------------
▼送信内容
------------------------------------------------------------
お名前 = 石田純一
メールアドレス = xxxxxxxx@gmail.com
問合せ種別 = その他
メッセージ = テスト送信をしました。

となるのかがわからず悩んでいます。
例えば上記を

------------------------------------------------------------
▼送信内容
------------------------------------------------------------
お名前
石田純一 様

メールアドレス
xxxxxxxx@gmail.com

問合せ種別-----その他

メッセージ↓
------------------------
テスト送信をしました。
------------------------


というデザインにするにはどうすればいいのでしょうか?
よろしくお願い申し上げます。


記事No: 15354
投稿日: 2017/01/31(Tue) 12:22:37
タイトルRe: POST-MAIL 送信メールデザイン変更について
ID情報: teketen
投稿者: てけてん

設置アドレスは、どちらでしょうか?


記事No: 15356
投稿日: 2017/01/31(Tue) 13:45:51
タイトルRe^2: POST-MAIL 送信メールデザイン変更について
ID情報: youchama
投稿者: youchama
URLhttp://mitsukaido.co.jp/

> 設置アドレスは、どちらでしょうか?

デフォルトのまま下記にアップして動作は確認しましたが
カスタマイズはこれからというところで質問させていただきました。
http://www.mitsukaido.co.jp/booking2/postmail.html


記事No: 15357
投稿日: 2017/01/31(Tue) 15:06:34
タイトルRe^3: POST-MAIL 送信メールデザイン変更について
ID情報: teketen
投稿者: てけてん

ご希望の動作にする場合は、postmail.cgiを改造する必要があります。
下記の改造をしてみて下さい。

※ 改造は、自己責任でお願いします。
※ 何かあった際は、元に戻して下さい。

postmail v8.02での改造です。

----------------------------------------
■ postmail.cgi

320行目付近

# 本文テンプレ内の変数を置き換え
$mail =~ s/!message!/$mbody/;

# 返信テンプレ内の変数を置き換え
$reply =~ s/!message!/$mbody/ if ($cf{auto_res});

の次の行に

# 改造のため追加 ■■
$mail =~ s/<!--(.*?)-->.*?<!--\1-->\n?//sg;
$reply =~ s/<!--(.*?)-->.*?<!--\1-->\n?//sg if ($cf{auto_res});
# 改造のため追加 ここまで■■

を挿入。
----------------------------------------
308行目付近

# 本文内容
my $tmp;
if ($$in{$_} =~ /\n/) {
$tmp = "$key_name = \n$$in{$_}\n";
} else {
$tmp = "$key_name = $$in{$_}\n";
}
$mbody .= $tmp;

の次の行に

# 改造のため追加 ■■
if($key_name ne 'message') {
$mail =~ s/!$key_name!/$$in{$_}/;
$reply =~ s/!$key_name!/$$in{$_}/ if ($cf{auto_res});
if($$in{$_}) {
$mail =~ s/<!--$key_name-->//g;
$reply =~ s/<!--$key_name-->//g if ($cf{auto_res});
} else {
$mail =~ s/<!--$key_name-->.*?<!--$key_name-->\n?//sg;
$reply =~ s/<!--$key_name-->.*?<!--$key_name-->\n?//sg if ($cf{auto_res});
}
}
# 改造のため追加 ここまで■■

を挿入して下さい。
----------------------------------------

■ mail.txt及びreply.txtの記述方法です。

<input type="" name=""><textarea name="">などのname値(name="")を!で挟んで記述します。

<input type="text" name="email">だとしたら、

!email!

と記述すると、その場所に<input type="text" name="email">で入力された値が表示されます。
また、

<!--email-->!email!<!--email-->

とすると、未入力のものや、そのname値の入力欄がない場合は、その部分が削除されて、メールには記述されません。
(複数メールフォームを利用する時にも便利です)
形式は、

<!--name値-->!name値!<!--name値-->

で、<!--name値-->と<!--name値-->で挟んだ部分が非表示となります。
(<!--name値-->〜<!--name値-->の間に、改行が入っても構いません)
ですので、
<textarea name="comment" cols="60" rows="10">
で入力された値は、

<!--comment-->メッセージ↓
------------------------
!comment!
------------------------
<!--comment-->

と記述すると、値がある場合は、

メッセージ↓
------------------------
テスト送信をしました。
------------------------

のようになり、値がない場合は、この部分はなくなります。
また、init.cgiの設定部分で、

$cf{replace} = {
'name' => 'お名前',
'email' => 'メールアドレス',
'comment' => 'コメント',
};

を設定しているname値が有る場合は、
'name' => 'お名前',
ならば、「name」ではなく、「お名前」の方を使用します。

お名前=!お名前!様

又は、

<!--お名前-->お名前=!お名前!様<!--お名前-->

のようにします。
すると、

お名前=youchama様

となります。
以下に、テンプレート例をあげておきます。

----------------------------------------
■ テンプレート例 ■
<input type="text" name="name" size="35" />
<input type="text" name="email" size="35" />
<input type="radio" name="問合せ種別" value="その他" />
<textarea name="comment" rows="7" cols="48"></textarea>
で、
$cf{replace} = {
'name' => 'お名前',
'email' => 'メールアドレス',
'comment' => 'コメント',
};
だった場合。
----------------------------------------

このメールは自動送信でお送りしています。
以下のとおりフォームメールより送信がありました。

------------------------------------------------------------
▼送信内容
------------------------------------------------------------

お名前
!お名前!様

メールアドレス
!メールアドレス!

<!--問合せ種別-->問合せ種別-----!問合せ種別!<!--問合せ種別-->

メッセージ↓
------------------------
!コメント!
------------------------

------------------------------------------------------------
!message!
------------------------------------------------------------
送信日時 : !date!
ブラウザ : !agent!
ホスト名 : !host!
------------------------------------------------------------


この場合、送られてくるメールは、


このメールは自動送信でお送りしています。
以下のとおりフォームメールより送信がありました。

------------------------------------------------------------
▼送信内容
------------------------------------------------------------

お名前
石田純一様

メールアドレス
test@example.com

問合せ種別-----その他

メッセージ↓
------------------------
テスト送信をしました。
------------------------

------------------------------------------------------------
お名前 = 石田純一
メールアドレス = test@example.com
問合せ種別 = その他
メッセージ =
テスト送信をしました。

------------------------------------------------------------
送信日時 : 2017/01/31(Tue) 00:10:30
ブラウザ : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
ホスト名 : 127.0.0.1
------------------------------------------------------------

となります。

■今まで通り、

!message!

も使用出来ます。
もちろん、記述しなくても構いません。
これは、スクリプトで値を纏めて表示する部分です。
テンプレートの表示例を御覧ください。

また、
!message!
!date!
!agent!
!host!
は、スクリプトで使用しますので、name値には、message、date、host、agentは使用出来ません。

以上です。


記事No: 15360
投稿日: 2017/02/01(Wed) 09:49:10
タイトルRe^4: POST-MAIL 送信メールデザイン変更について
ID情報: youchama
投稿者: youchama
URLhttp://mitsukaido.co.jp/

てけてん様

丁寧かつ解り易いかつ親切なご案内に感激しております。
ありがとうございます!

落ち着いた時間を作り作業してみます。
取り急ぎお礼申し上げます。


記事No: 15385
投稿日: 2017/02/11(Sat) 15:23:08
タイトルRe^5: POST-MAIL 送信メールデザイン変更について
ID情報: youchama
投稿者: youchama
URLhttp://mitsukaido.co.jp/

改造の結果、希望通りの結果を得られました!
ありがとうございました!


[検索ページ]