• ベストアンサー

時刻指定メールのプログラムをPHPで作るには?

はじめまして。さっそく質問させてください。 私はPHPでホームページを作っているのですが、その中で 「ウェブ上から訪問者が時刻を指定して、メールが送られるようにPHPでプログラムできないかな?」と考えています。 ちなみにどこかのHPで、「PHPはスクリプト言語なので無理」っていう内容を読んだことがあるのですが、もしそうならデータベースだとかcgiなど他の方法を教えていただけるとありがたいです! ご回答よろしくお願いします!

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

  • ベストアンサー
  • gentaro
  • ベストアンサー率47% (105/221)
回答No.1

指定した時刻ピッタリに送信するのは難しいかも。 1)メール送信データを作成し、指定された送信予定時刻も記録する。データベースかテキストデータで保存。 2)データベースかテキストデータを読み込んで、指定された時刻が過ぎていたらメール送信するCGIを作る。 2のCGIをcrontabで1分おきに起動する。 PHPで実現できるとしたらこんなとこでしょうかね?

961053
質問者

お礼

素早いご回答に感謝します! なるほど!やっぱり専門家に伺うのが一番なんですね。 (正直3ヵ月くらいひとりで悩んでました…。) ちなみにgentaroさん、勉強不足で申し訳ないのですが、「crontab」っていうのを少し詳しく教えていただけないでしょうか?それから僕はさくらサーバーっていうレンタルサーバーなのですが、たいがいどこのホストでも大丈夫なのでしょうか?

その他の回答 (2)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

さくらのレンタルサーバならばcronが使用できます。 ただし、ライトプランでは使用できません。 http://www.sakura.ne.jp/rs/03_05.shtml

961053
質問者

お礼

ホントだ!できるんですね!! 幸い僕はスタンダードプランです♪ 早速チャレンジしてみます!「OKWAVE」っていいところですね♪ ご親切にありがとうございました!

  • gentaro
  • ベストアンサー率47% (105/221)
回答No.2

あくまでCGIで行う、ということを前提に、 レンタルサーバーで「共有サーバー」、つまり一台のサーバーを何人かで使っている形態であれば、crontabの利用はダメかもしれません。 「専用サーバー」一台丸ごと一人で借りている場合は、ほとんどcrontabは使えると思います。 要は「シェルが使えてシェルコマンドを実行できる」かどうかです。 「共有サーバー」でTELNETないしSSHがなどからシェルが使えてもcrontabはダメな場合もありますね。 crontab というのはUnix系OSのコマンドで、日時時刻を指定して、プログラムなどをスケジュール実行できる機能です。 http://homepage2.nifty.com/cs/linux_command/re-command/job_12.html crontabが使えなければ、メール送信実行のプログラムを別の手段で起動するしかありません。 HPに埋め込んで、HPが閲覧されたら送信実行のプログラムを起動する、という方法もできますが、よほどアクセスの多いHPでなければ実用的ではありませんね。 crontab以外でも、例えばatコマンドなどをPHPのプログラムからシェルに投げる方法(PHPのsystem、exec関数を使って)もできるでしょうが、これがお使いのサーバー業者から許されるかどうかはわかりません。 いずれにしろ「共有サーバー」ではまず難しいと思います。

961053
質問者

お礼

gentaroさん、ご回答ありがとうございます! たぶん僕の場合、共有サーバーですね。 ただ、すごく勉強させていただきました!もっと勉強しようと思います。質問させていただいてよかったです。ホントにありがとうございました♪

関連するQ&A