• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

CGIでは無理です。 CGIは、WWWブラウザからアクセスしたときに起動し、表示すべきデータを返す、というプログラムです。 原理的に、アクセスが来てない時にCGIプログラムを実行することはできませんので、「毎日同時刻に実行」することは不可能です。

その他の回答 (2)

  • andes-do
  • ベストアンサー率0% (0/1)
回答No.3

こんな方法でどうでしょう (手順) (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)
回答No.1

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

noname#156265
質問者

補足

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

関連するQ&A