perl sendmail

#!/usr/bin/perl

require 'getformdata.pl';

# sendmailパス
$sendmail = '/usr/sbin/sendmail';

# フォームデータの取得
%form = plab::getformdata();

# 個々の変数にコピー
$name = $form{'name'};
$from = $form{'from'};
$subject = $form{'subject'};
$message = $form{'message'};

# メールの送信先は固定
$to = 'hoge@gmail.org';

# Fromメールアドレスが空だとエラーになるので、
# 空なら仮に送信先アドレスを入れる
if($from eq ""){
	$from = $to;
}

# sendmailを書き込みオープンする
if(! open(MAIL, "|$sendmail -t")){
	# sendmailの起動ができませんでした
	print "Content-type: text/html\n";
	print "\n";
	print "メール送信に失敗しました。";

	# CGI終了
	exit;	
}

# チェック
$name =~ s/\r|\n//g;
$from =~ s/\r|\n//g;
$to =~ s/\r|\n//g;
$subject =~ s/\r|\n//g;

# ヒアドキュメントを作る
$mailtext = <<"EOM";
From: $name<$from>
To: <$to>
Subject: $subject
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="ISO-2022-JP"

$message
EOM

# パイプを通してsendmailにデータを渡す
print MAIL $mailtext;

close MAIL;
print "Content-type: text/html\n";
print "\n";
print "メールを送信しました。ありがとうございました";

exit;

sendmailはperlと関係なくメール送信プログラム