プロが教える店舗&オフィスのセキュリティ対策術

毎日同時刻に、設定しておいた内容の文面を自動送信できるCGIは、どうやればできますか?

A 回答 (3件)

CGIでは無理です。



CGIは、WWWブラウザからアクセスしたときに起動し、表示すべきデータを返す、というプログラムです。

原理的に、アクセスが来てない時にCGIプログラムを実行することはできませんので、「毎日同時刻に実行」することは不可能です。
    • good
    • 0

こんな方法でどうでしょう



(手順)
(1)まず、下記のようなPerlスクリプトをつくり、Webサーバーにアップする。

(2)一定時間ごとにスクリプトが実行されるようにセット。

A. crontabが使える場合
* 6 * * * perl /usr/local/apache/htdocs/test.cgi 1> /dev/null
(毎日6時に/usr/local/apache/htdocs/test.cgiを実行)

B. crontabが使えない場合
電源入れっぱなしのWindowマシンが用意できるのであれば、
タスクスケジューラをつかって、"start http://www.example.com/test.cgi"を定時に起動。
(ブラウザが立ち上がり、上記URLを表示。メールが送信される)

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

print "Content-type: text/html\n\n";

$from = 'example@example.com';#メールの差出人
$to = 'example@example.com';#メールの宛先

$subject = "SUBJECT";#メールの件名(英語のみ)。日本語を使う場合は下記URLなど参照
#http://tech.bayashi.net/pdmemo/sendmailbyperl.html

$body = "メールの本文";

open(MAIL, "| /usr/lib/sendmail -t");
print MAIL "From: $from\n";
print MAIL "To: $to\n";
print MAIL "subject: $subject\n";
print MAIL "Content-Type: text/plain;\n\n";
print MAIL "$body\n";
close(MAIL);

exit;
------------------------------------------------------------------------------
    • good
    • 0

Unix/Linuxならcronでmail、Windowsならタスクスケジューラかメーラの設定で出来るはず。

この回答への補足

CGIのソースが知りたいんです。

補足日時:2010/08/07 20:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!