こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

メールフォームから受信で件名が表示されない

cgi初心者です、
無料のアンケートフォームを使用しているのですが
受信時に件名が表示されません、
どこえおどうしたらよいのでしょうか?
ちなみにhtmlの方に
<input type=hidden name="subject" value="査定フォームからのメールです">を入れてみましたが受信した内容の上に表示されるのですが
メール受信時の件名には表示されません。

以下cgi内容

#!/usr/bin/perl
#
# (C) COPYRIGHT International Business Machines Corp. 1999
# All Rights Reserved
#

#------ sendmailパスの指定 ----------------------------------------------
# 以下の、$mailprogに、サーバー上にある"sendmail"コマンドをフルパスで
# 記入します。詳しくは、プロバイダのガイドに従ってください。
# (例) $mailprog = '/usr/lib/sendmail';
$mailprog = '/usr/sbin/sendmail';
#------------------------------------------------------------------------
#------ メールアドレスの指定 ------------------------------------------
# 以下の、$mailtoに、感想の送り先となるメールアドレスを記入します。
# (例) $mailto = 'mailaddress@sample.ibm.jp';
$mailto = '*****@********';
#------------------------------------------------------------------------
require 'jcode.pl';

#Get the input
read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

#Split the name-value pairs
@pairs = split (/&/,$buffer);

foreach $pair(@pairs)
{
($name, $value) = split(/=/, $pair);

#Un-Webify plus signs and %-encoding
$value=~tr/+/ /;
$value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;

$FORM{$name} = $value;
if ( $name ne "to" ) {
push (@fields, $name) unless (grep(/^$name$/, @fields));
}
}

#
### 送信フォーマット
#

$mail_msg = "査定フォームからのメールです";

foreach $field (@fields) {
$mail_msg = "$mail_msg-----------------------------------------------\n";
$mail_msg = "$mail_msg($field) $FORM{$field}\n";
}
$mail_msg = "$mail_msg-----------------------------------------------\n";

#
### ShiftJis to Jis
#
&jcode'convert(*mail_msg, 'jis');
open(MAIL,"| $mailprog $mailto")|| die "Can't open $mailprog!\n";
print MAIL $mail_msg;
close(MAIL);
#
### Make the person feel good for writing to us
#
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>Thank you!</TITLE></HEAD>\n";
print "<BODY bgcolor=\"#ffffff\">\n";
print "<align=\"center\">お問合せいただきありがとうございます。\n";
print "</BODY></HTML>\n";

投稿日時 - 2009-07-14 11:40:02

QNo.5124468

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

CGIに件名を入れる処理が無いから、入らないのです。
print MAIL $mail_msg;
上の処理の前に、件名を付加する処理を追加すればいいです。
追加の方法は、検索すればサンプルは多く見つかるのでそちらを参考にして下さい。

投稿日時 - 2009-07-14 19:05:54

補足

ありがとうございました、
print MAIL $mail_msg;の指示の前に指示を出す処理をする
方法を検索してみましたが見つかりませんでした、
私の探し方が悪いのだと思います、
参考になる
URL先を教えていただけましたら幸いです。

投稿日時 - 2009-07-15 03:40:54

あなたにオススメの質問