« メール送受信テストシステム(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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/68055/9906038

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

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