記事No | : 13544 |
投稿日 | : 2014/12/07(Sun) 00:19:47 |
タイトル | : ClipMailの返信メールの内容について |
ID情報 | : yu913 |
投稿者 | : yun |
URL | : http://www.iikaisha.org/ |
ClipMailを使用しています。
メールフォームで、イベントの参加受付をしており、
名前やメールアドレスのほかに、いつのイベントに参加するのか、
チェック(CheckBoxを使用)を入れていただいております。
ClipMailの自動返信フォームに、参加するイベントの情報(上記のCheckBoxでチェックを入れた項目)を記載したいのですが、どのようにすればよいでしょうか?
管理者宛てに届くメールも同様の内容でいいので、!message!の内容を改造できればと考えております。
どうぞよろしくお願いします。
記事No | : 13547 |
投稿日 | : 2014/12/08(Mon) 17:15:32 |
タイトル | : Re: ClipMailの返信メールの内容について |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
強引な方法ですが、参加希望イベントにチェックが入っていたら、
フォーム表示htmlからイベント内容を抽出し、メール内容に追加する処理です。
clipmail.cgi 427行目あたりの
# 本文内容
my $tmp;
if ($$in{$_} =~ /\n/) {
$tmp = "$key_name = \n$$in{$_}\n";
} else {
$tmp = "$key_name = $$in{$_}\n";
}
$mbody .= $tmp;
$bef = $_;
を
# 本文内容
my $tmp;
if ($$in{$_} =~ /\n/) {
$tmp = "$key_name = \n$$in{$_}\n";
} else {
$tmp = "【$key_name】\n$$in{$_}\n\n";
}
if (/^参加希望/) {
open(FRM,'./uketsuke.html');# フォーム表示htmlのパスを指定
my @form = <FRM>;
close(FRM);
my $count = 0;
foreach my $line (@form) {
if ($line =~ /$_/) {
# 内容が複数行にわたっている場合があるので、4行先ぐらいまで追加
my $lines;
for (my $i = 0; $i <=4; $i++) {
$lines .= $form[$count + $i] if $count + $i < scalar(@form);
}
$lines =~ s/\s//g;
if ($lines =~ /<input[^>]+>(.+)<\/td>/) {
# <input>タグの終わりから、</td>タグまでをイベントの内容と判断
my $event = $1;
$event =~ s/<[^>]*>//g;# 不要なタグは削除
$tmp .= "【イベント内容】\n" . $event . "\n\n";
last;
}
}
$count++;
}
}
$mbody .= $tmp;
$bef = $_;
と変えてみてください。
記事No | : 13565 |
投稿日 | : 2014/12/10(Wed) 20:45:48 |
タイトル | : Re^2: ClipMailの返信メールの内容について |
ID情報 | : yu913 |
投稿者 | : yun |
URL | : http://www.iikaisha.org/ |
ご教示いただき、ありがとうございました!
受け付けた内容を表示することができました。