メールフォーム その1
メールをWebから送信する、シンプルなメールフォームスクリプトです。
ファイルmailform01.htmlとmailform01.cgiを作成して下のソースをそれぞれ貼り付けます。
mailform01.cgiのパーミションを755に変更します。文字コード変換には、jcode.plライブラリを使用します。
サンプル
mailform01.html
<html> <head> <title>メールフォーム</title> <form method="post" action="mailform01.cgi"> 発信者 (メールアドレス): <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> </form> </body> |
ソース mailform01.cgi
#!/usr/bin/perl
#文字コード変換ライブラリ
require 'jcode.pl';
#メールソフトまでのパス
$sendmail = '/usr/lib/sendmail';
#送信先メールアドレス
$mailto = 'xxx@xxx.com';
#デコード処理
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;
}
$from = $FORM{'from'};
$subject = $FORM{'subject'};
$comment = $FORM{'comment'};
#未記入の場合や送信者アドレスに@マークがないとエラー表示
if(($from eq "")||($subject eq "")
|
