#!/usr/bin/perl require './jcode.pl'; require './mimew.pl'; $sendmail = '/usr/sbin/sendmail'; #受け取りメールアドレス(※要変更) $mailto = 'soumu@fusanotsuyu.co.jp'; #$mailto = 'tarow78@am.wakwak.com'; $mailfrom = 'soumu@fusanotsuyu.co.jp'; #BCC $mailbcc = ''; #$mailbcc = 'soumu@fusanotsuyu.co.jp'; #Reply $mailreply = 'soumu@fusanotsuyu.co.jp'; #入力用template $html1file="./temp1.html"; #確認用html1file $html2file="./temp2.html"; #送信済み $html3file="./thanx.html"; # #メールの件名(subject) $subject = 'ホームページからお問い合わせがありました'; @ken=('北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','東京都','神奈川県','埼玉県', '千葉県','茨城県','栃木県','群馬県','山梨県','新潟県','長野県','富山県','石川県','福井県', '愛知県','岐阜県','静岡県','三重県','大阪府','兵庫県','京都府','滋賀県','奈良県','和歌山県', '鳥取県','島根県','岡山県','広島県','山口県','徳島県','香川県','愛媛県','高知県','福岡県', '佐賀県','長崎県','熊本県','大分県','宮崎県','鹿児島県','沖縄県'); ####################### &decode; # チェックする内容とコメント if($FORM{name} eq ''){ $com{'name'}="
お名前を入力してください。
"; $err++; } if($FORM{name} eq ''){ $com{'tel'}="電話番号を入力してください。
"; $err++; } if($FORM{email} eq ''){ $com{'email'}="E-Mailアドレスを入力してください。
"; $err++; }elsif($FORM{email} !~ /^[\x01-\x7F]+@(([-a-z0-9]+\.)*[a-z]+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])$/ ){ $com{'email'}="E-Mailアドレスを正しく入力してください。
"; $err++; } if($FORM{name} eq ''){ $com{'txt'}="お問い合わせ内容を入力してください。
"; $err++; } #------------------------ # 再度入力 if( $err || $FORM{reedit} ){ $hidden=''; $spref=''; foreach(@ken){ if($_ eq $FORM{'pref'}){$s=' selected';}else{$s='';} $spref.="\n"; } open HTML,"$html1file"; print <<"HTML_HEADER"; Content-type: text/html HTML_HEADER while(){ s//$FORMF{$1}/g; if(! $FORM{reedit} && $FORM{checked}){ s//$com{$1}/g; } s//$hidden/; s//$spref/; print; } exit(0); #----------------------- # 確認表示 }elsif( $FORM{checked} ne 'ok' ){ # $hidden=''; $FORMF{checked}='ok'; foreach $v ( keys %FORMF ){ $hidden.=""; } open HTML,"$html2file"; print <<"HTML_HEADER"; Content-type: text/html HTML_HEADER while(){ s//$FORMH{$1}/g; s//$hidden/; print; } exit(0); } #------------------------ # メール送信 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $date_now = sprintf("%4d/%2d/%2d %02d:%02d:%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec); &jcode::convert(*$subject,'jis'); $mailbody1=<<"MAIL_"; ホームページからのお問い合わせ内容 ---------------------------------------------------------------------------- ■お名前 :$FORM{name} ■ふりがな :$FORM{kana} ■電話番号 :$FORM{tel} ■メールアドレス :$FORM{email} ■ご住所 :$FORM{zipcode}$FORM{prefectures}$FORM{address} ■通信欄 : $FORM{text} ---------------------------------------------------------------------------- 受付時間 :$date_now 送信元ホスト名 :$ENV{REMOTE_HOST} 送信元IPアドレス:$ENV{REMOTE_ADDR} ブラウザの種類 :$ENV{HTTP_USER_AGENT} MAIL_ $mailhead1=<<"_END_"; # mailヘッダー X-Mailer: MailFORM To: $mailto Reply: $FORM{email} From: $FORM{email} Subject: $subject Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=Shift-JIS _END_ &jcode::convert(*$mailbody1,'jis'); if (!open(MAIL,"| $sendmail $mailto $mailbcc")) { &send_error; } print MAIL &mimeencode($mailhead1); print MAIL $mailbody1; close(MAIL); print "Location: ${html3file}\n\n"; exit(0); #--- sub decode{ # decode form vaersion; if ($ENV{'REQUEST_METHOD'} eq "POST"){ read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});} else{ $buffer = $ENV{'QUERY_STRING'};} @data = split(/&/,$buffer); foreach(@data){ ($name,$value) = split(/=/,$_); $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg; &jcode::convert(*value,'sjis'); #漢字コードShift-JIS # if($FORM{$name}){ $value=" ".$value; } if($name eq 'tel' || $name eq 'email'){ $value=&hankaku($value); } $FORM{$name}=$value; $value =~ s/&/&/g; $value =~ s/\"/"/g; $value =~ s/</g; $value =~ s/>/>/g; $FORMF{$name} = $value; $value =~ s/\r\n/