#!/usr/bin/perl
#このプログラムは昔、1st Classで配布されたものを、再配布したものです。
############################################################################
#Copyright: 1st Class #
#URL: http://www2s.biglobe.ne.jp/~hikarine/ #
#Redistribution is strictly prohibited. All rights reserved. #
#このプログラムを改変、もしくはそのままの使用することは、 #
#使用条件を満たす限り自由ですが、許可なくそれを配布することは固く禁じます。#
#もし発覚したら、即時使用停止していただきます。 #
#使用条件:配布元表示を残していただけること #
#再配布: http://tsubomi.jp/ #
#このプログラムは、つぼみネットの会員様だけが #
#使用する事が出来ます。つぼみネットの会員様が #
#改造、その他の方法で利用する事は可能ですが、 #
#著作権者と再配布先の表示を残す事が条件となります。 #
#このプログラムの再配布は禁止します。1st Classで許可を。 #
#また、このプログラムへの質問等は一切、受付ません。 #
#不明の方は書籍、サーチエンジン等で独学して下さい。 #
#コマンドで原作と違うのはif(!open(OUT,"| $sendmail -t $mail_from"))の #
#部分から-tを外してqmailによる2度送信を防いでいます。応用して下さい。 #
############################################################################
#以下をあなたの環境に合わせて変えて下さい
$mail_to = '*****@*******';#メールの送り先(必須変更点1)
$sendmail = '/usr/lib/sendmail';#sendmailのプロバイダーのサーバーでの場所
$bgcolor = "6600cc";#背景の色
$text = "ffffff";#文字の色
$link = "ccffff";#リンクの色
$vlink = "ffefff";#一回クリックされた後のリンクの色
$title="メールフォムから送信しました。";#自分に相手から送られてくるメールのタイトル(必須変更点2)
$aite="メール有り難うございました。";#相手に自動返信されるメールのタイトル(必須変更点3)
############################################################################
#以下1ヶ所、相手に自動返信されるメールの文章の中身を変更することが必須となります。
require 'jcode.pl';
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if ($buffer eq '')
{
&Error;
}
else
{
&Parse;
&Sendmail;
}
sub Error
{
print "Content-type: text/html\n\n";
print "
Error\n";
print "\n";
print "記入エラー
\n";
print "入力内容になんらかの不備があります
\n";
print "\n";
exit;
}
sub Parse
{
@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
$name = $FORM{'name'};
$comment = $FORM{'comment'};
$mail_from = $FORM{'mail_from'};
&jcode'convert(*title,'jis');
&jcode'convert(*aite,'jis');
&jcode'convert(*name,'jis');
&jcode'convert(*comment,'jis');
if ( (!$name) || (!title) || (!comment) )
{
&Error;
}
$mail_from=~ s/,/\./g;
$mail_from=~ s/\.\./\./g;
if($mail_from=~ m/\"/ || $mail_from=~ m/>/ || $mail_from=~ m/ || $mail_from=~ m/\@\./ || $mail_from=~ /.*\@.*\@/ || !($mail_from =~ m/\@/) || !($mail_from =~ m/\./))
{
print "Content-type: text/html\n\n";
print "Error\n";
print "\n";
print "メールアドレスが間違えています
\n";
print "不正なメールアドレスです
\n";
print "\n";
exit;
}
}
sub Sendmail
{
if(!open(OUT,"| $sendmail $mail_to"))
{
&Send_error;
}
else
{
print OUT "To: $mail_to\r\n";
print OUT "From: $mail_from\r\n";
print OUT "Subject: $title\r\n";
print OUT "Content-Transfer-Encoding: 7bit\r\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\r\n\r\n";
print OUT "$nameさんからのメール\n\n";
print OUT "$comment\n\n";
close(OUT);
}
if(!open(OUT,"| $sendmail $mail_from"))
{
&Send_error;
}
else
{
print OUT "To: $mail_from\r\n";
print OUT "From: $mail_to\r\n";
print OUT "Subject: $aite\r\n";
print OUT "Content-Transfer-Encoding: 7bit\r\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\r\n\r\n";
print OUT "$nameさんへ\n\n";
print OUT <
メールは送信されました
ご記入ありがとうございます。
メールは
$mail_from
から無事送信されました。