« メール送受信テストシステム(1) | Main | 玄箱 Postfixインストール »

May 06, 2006

メール送受信テストシステム(2)

メール送信部のプログラム

testmail.cgi
----
#!/usr/local/bin/perl

# 画面表示
print "Content-type: text/html \n\n";
print "< html > \n";
print "< head > < title > Test send mail< /title > < /head > \n";
print "< body > \n";
print "< h1 > Test send mail< /h1 > \n";
print "< hr / > ";


use CGI;
use Jcode;


# 引数を取得する
$input_data = new CGI;

$count = $input_data- > param('count');
$to = 'hogehoge@japan.com';


# 送信前処理
$mailname = jcode($name)- > jis;


# ループ

for( $i=1 ; $i< =$count ; $i++) {

#######################
# 実行時の日時を取得

($sec, $min, $hour, $day, $mon, $year, $wdy, $yday, $isdst) = localtime(time);
@youbi = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
$year += 1900;
$mon++;

$time = "$year-$mon-$day, @youbi[$wdy], $hour:$min:$sec";


#######################
# Send mail

open (MAIL, "| /usr/lib/sendmail -t");

print MAIL "To: $to \n";
print MAIL "Subject: $time \n";
print MAIL "Content-Type: text/plain; \n\n";
print MAIL "test mail \n";

close(MAIL);

print "現在の日時は $year-$mon-$day, @youbi[$wdy], $hour:$min:$sec です。< br \/ > \n";
print "ただいま $i 回メールを送信しました。 < br \/ > \n";

#######################
# インターバル 5分

sleep(300);

}


# 画面表示

print "Test mail は $count 回繰り返されました。 \n";

print "< /body > < /html > \n";

exit;
----

しかし、現状借りていますレンタルサーバーにて動作テストを
するとタイムアウトを起こしてしまいます。(300秒の待ちは無理)
当たり前と言えば当たり前ですが、、、
たぶんサーバーの設定で"keep alive"は100sあたりになっているので
しょう。次なる手段として、自宅サーバーにPostfixなるメールサービスを
導入して、Perlスクリプトをcronで自動実行させてみようかと
考えています。


--参考図書
CGI/Perlハンドブック 第3版


←クリック一票

|

« メール送受信テストシステム(1) | Main | 玄箱 Postfixインストール »

CGI Perl」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference メール送受信テストシステム(2):

« メール送受信テストシステム(1) | Main | 玄箱 Postfixインストール »