- ベストアンサー
毎日同時刻に、設定しておいた内容の文面を自動送信できるCGIは、どうや
毎日同時刻に、設定しておいた内容の文面を自動送信できるCGIは、どうやればできますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CGIでは無理です。 CGIは、WWWブラウザからアクセスしたときに起動し、表示すべきデータを返す、というプログラムです。 原理的に、アクセスが来てない時にCGIプログラムを実行することはできませんので、「毎日同時刻に実行」することは不可能です。
その他の回答 (2)
- andes-do
- ベストアンサー率0% (0/1)
こんな方法でどうでしょう (手順) (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; ------------------------------------------------------------------------------
- SaKaKashi
- ベストアンサー率24% (755/3136)
Unix/Linuxならcronでmail、Windowsならタスクスケジューラかメーラの設定で出来るはず。
補足
CGIのソースが知りたいんです。