Free CGI Perl PHP Script Olive Design CGI

メールフォーム その2

HTMLファイルの埋め込み型です。

mailform02.cgiを作成して下のソースをそれぞれ貼り付けます。

mailform02.cgiのパーミションを755に変更します。

文字コード変換には、 jcode.plライブラリを使用します。

ソース mailform02.cgi

#!/usr/bin/perl

#文字コード変換ライブラリ
require 'jcode.pl';

#メールソフトまでのパス
$sendmail = '/usr/lib/sendmail';

#送信先メールアドレス
$mailto = 'yourname@yourdomain.com';

&decode;
if ($mode eq 'submit') { &submit; }
&html;

#htmlを表示
sub html {
print <<"HTML";
Content-type: text/html


<html>
<head>
<title>メールフォーム</title>
<head>
<form method="post" action="mailform02.cgi">
<input type=hidden name=mode value="submit">
発信者 (メールアドレス): <br/>
<input type="text" name="from">
<br/>
Subject(題名) :
<br/>
<input type="text" name="subject">
<br/>
メール本文 :
<br/>
<textarea name="comment" rows=5 cols=30>
</textarea>
<p>
<input type="submit" value="送る">
</p>
</body>
<html>

HTML

exit;
}
#デコード処理
sub decode{
  read STDIN,$input,$ENV{'CONTENT_LENGTH'};
  @pairs = split(/&/,$input); 
  foreach $pair (@pairs) {
    ($list, $value) = split(/=/, $pair);
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
    &jcode'convert(*value, 'jis');
    $FORM{$list} = $value;
  }
  $mode = $FORM{'mode'};
  $from = $FORM{'from'};
  $subject = $FORM{'subject'};
  $comment = $FORM{'comment'};
}

sub submit{
  #未記入の場合エラー表示
  if(($from eq "")||($subject eq "")||($comment eq ""))
  {
    &error('送信不可','全ての項目を埋めないと送信できません.'); 
  }
  #メールソフトなんらかの原因で使えない場合エラー表示
  if (!(open(MAIL,"| $sendmail -t"))) {
    &error('送信不可','何らかの原因で送信できません.'); 
  }
  print MAIL "To: $mailto\n";
  print MAIL "From: $from\n";
  print MAIL "Subject: $subject\n\n";
  print MAIL "$comment\n";
  close(MAIL);
  &end;
}
#エラーメッセージ表示
sub error {
  print "Content-type: text/html\n\n";
  print "<html>\n";
  print "<body>\n";
  print "<b>$_[0]</b><br>\n";
  print "$_[1]\n";
  print "</body></html>\n";
  exit;
}

#送信完了表示
sub end {
  print "Content-type: text/html\n\n";
  print "<html>\n";
  print "<body>\n";
  print "<b>送信完了</b><br>\n";
  print "</body></html>\n";
  exit;
}

__END__
Perl PHP Free CGI Script OliveDesign CGI

Perl PHP Free CGI Script OliveDesign CGI

プライバシーポリシー / 特定商取引法に基づく表示