- 締切済み
勝手に白紙のメールが送信されてしまう。
お問い合わせフォームにPerlのsendmailを使用しています。JavaScriptとCGIの両方で入力制限をかけ、未入力があると送信できないような設定にしてあるのですが、全て白紙(未入力)のメールが送られてきてしまいます。制限をかけているので、送られてくるはずはないと思うのですが…。制限の仕方が甘いのでしょうか?このようなことはあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- karumakaruma
- ベストアンサー率65% (65/100)
フォームに何も入力しないで送信しようとした時にちゃんと エラーは出ますか? 出るのであれば、入力チェックには問題が無くて ただ単に、入力内容をメール本文に入れてないだけでは 無いでしょうか?
- kikanbo
- ベストアンサー率31% (44/139)
プログラミングソースを見ないとわかりません。
補足
こんな感じです。 所々、抜粋して載せました。 これはCGIでの入力制限はかけてないパターンでhtmlにJavaScriptでアラートが出るようにしてあります。 メールの宛先は伏せてあります。 ペーストしたら¥マークが?になってしまいました。 #!/usr/bin/perl require'cgi-lib.pl'; require'jcode.pl'; &ReadParse(*form); $sendmail='/usr/sbin/sendmail'; $mailto='........................'; $subject='web mail'; $email='nobody@xxx.yyy.zzz'; $sendername='$mail'; $name="$form{'name'}"; $post="$form{'post'}"; $todouhuken="$form{'todouhuken'}"; $adress="$form{'adress'}"; $tel="$form{'tel'}"; $mail="$form{'mail'}"; $text="$form{'text'}"; $text=~s/<br>//g; &jcode::convert(*name,'euc'); &jcode::convert(*post,'euc'); &jcode::convert(*todouhuken,'euc'); &jcode::convert(*adress,'euc'); &jcode::convert(*tel,'euc'); &jcode::convert(*mail,'euc'); &jcode::convert(*text,'euc'); $mailbody= "氏名= $name?n?n". "住所= 〒$post"." $todouhuken"."$adress?n?n". "電話= $tel?n?n". "メール= $mail?n?n". "本文?n". "$text?n?n"; $subject="フォームメール"; &jcode::convert(*mailbody,'jis'); &jcode::convert(*subject,'jis'); open MAIL,"|$sendmail $mailto"or die"error"; print MAIL"To:$mailto?n"; print MAIL"From:$mail?n"; print MAIL"Subject:$subject?n"; print MAIL"Content-type: text/plain?n?n"; print MAIL"$mailbody?n"; close(MAIL); $title="送信完了"; $body="送信ありがとうごいました。"; $link="TOPページへ"; &jcode::convert(*title,'sjis'); &jcode::convert(*body,'sjis'); &jcode::convert(*link,'sjis'); print "Content-type: text/html ?n?n"; print "<html>?n"; print "<head><title>$title</title></head>?n"; print "<body bgcolor='#FFFFFF' marginheight='150'><center>"; print "<br><br>$body<br>"; print "<br><br><a href='top.htm'>$link</a>?n"; print "</center></body>?n"; print "</html>?n"; exit;
お礼
いえいえ、未入力だと送信できないようになっています(ブラウザ上では)。エラーも出ますし…。