- 締切済み
メールフォームから受信で件名が表示されない
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";
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- memphis
- ベストアンサー率40% (975/2395)
CGIに件名を入れる処理が無いから、入らないのです。 print MAIL $mail_msg; 上の処理の前に、件名を付加する処理を追加すればいいです。 追加の方法は、検索すればサンプルは多く見つかるのでそちらを参考にして下さい。
補足
ありがとうございました、 print MAIL $mail_msg;の指示の前に指示を出す処理をする 方法を検索してみましたが見つかりませんでした、 私の探し方が悪いのだと思います、 参考になる URL先を教えていただけましたら幸いです。