#!/usr/local/bin/perl # メール送信CGI Version 1.00 # # 2000/ 7/ 5 宍戸 輝光 # # このプログラムは、自由に転載・改変・配布できます。 # 設置方法−perl/sendmailのパスや送信先を設定し、この # スクリプトを適当な名前(pmail.cgiなど)でサーバーに # 転送します。その後、ファイルに実行属性(755など)を # つけてCGIにリンクを張れば完了。必要なファイルはこの # CGIスクリプトだけです。 require "jcode.pl"; # postされたデータを読み込む read(STDIN,$query,$ENV{'CONTENT_LENGTH'}); @indata=split(/&/,$query); foreach $body(@indata) { ($name,$val)=split(/=/,$body); $val=~ tr/+/ /; # データをデコード $val=~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C",hex($1))/eg; $val=~ s/</g; $val=~ s/>/>/g; $val=~ s/\r\n/\n/g; # 改行を統一 $val=~ s/\r/\n/g; $val=~ s/\n/\t/g; # 改行をタブに置換 &jcode'convert(*val,"sjis"); $form{$name}=$val; } $mode=$form{'mode'}+0; $name=$form{'name'}; $email=$form{'email'}; $http=$form{'http'}; $comment=$form{'comment'}; $sendmadr='shishido@mail.sm.rim.or.jp'; # メール送信先 $sendmname="宍戸 輝光"; # メール受信者の名前 $cmd="/usr/lib/sendmail"; # sendmailパス $ret="../index.html"; # 送信後「戻る」にリンクするパス if ($mode==0) { print "Content-type: text/html\n\n\n
\n\n"; print "メールアドレスのない方でも私にメールを送れます。"; print "このホームページのご感想やご意見、私への個人的なメッセージなどお気軽にお書きください。
\n\n"; print "メール送信先・$sendmname<$sendmadr>
\n";
print "
*お名前と本文は必須です。
\n\n"; print "\n\n"; exit; } elsif ($mode==1) { if ($name eq '') { print "Content-type: text/html\n\n\n\n\n"; print "お名前を入れてください。
\n\n"; print "\n\n"; exit; } if ($comment eq '') { print "Content-type: text/html\n\n\n\n\n"; print "本文を入れてください。
\n\n"; print "\n\n"; exit; } if (length($comment)>2048) { print "Content-type: text/html\n\n\n\n\n"; print "本文が長すぎます。
\n\n"; print "\n\n"; exit; } print "Content-type: text/html\n\n\n\n\n"; $vcomment=$comment; # 本文の内容を表示用変数にコピー $vcomment=~ s/\t/\n/g; # 置換した改行を元に戻す print "以下の内容でメールを送信します。
\n\n"; print "メール送信先・$sendmname<$sendmadr>
\n";
print "
お名前 | $name |
---|---|
メールアドレス | |
ホームページ | $http |
本文 | \n$vcomment |
ありがとうございました。
\n"; print "\n\n"; print "\n\n"; }