- 締切済み
サーバーから時間がきたらメールを送るプログラム
独学プログラマーです。 レンタルサーバーを利用して簡単な社内向けシステムを作っています。 今回、例えば10時になったら社員数名にメールを自動で送るというシステムを作りたいと思います。 現在、「送信ボタン」みたいなのを押せば自動でメール内容を生成し送信することはできます。 さて、クライアントになるパソコンがその時に立ち上がっていない可能性があるという前提で、レンタルサーバー内でphpに自動でリクエストをできる方法はないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- maesen
- ベストアンサー率81% (646/790)
>現在、「送信ボタン」みたいなのを押せば自動でメール内容を生成し送信することはできます。 送信できるということは、現状でメールを送信する仕組みが存在するということで良いでしょうか? >レンタルサーバー内でphpに自動でリクエストをできる方法はないでしょうか? メールを送信するphpを作成するスキルがあると考えますがよろしいでしょうか? >今回、例えば10時になったら社員数名にメールを自動で送るというシステムを作りたいと思います。 Linux系のレンタルサーバでかつ、 上の条件が揃っているのであれば、やはりcronを利用することになると思います。 ・社員数名にメールを送信するphpプログラムを作成 ・毎日10時にそのphpプログラムを実行するようにcronに登録する という感じになると思います。
- hue2011
- ベストアンサー率38% (2801/7249)
メールシステムの理解がたりません。 PCが立ち上がっていなくてもメールは送信できます。 なぜかというとメールサーバーにアップされるだけだからです。 それを、クライアントからメールサーバーにログインして、自分あてのメールを拾うのです。 レンタルサーバーというのは、場所借りをしているサーバーのことですが、メールサーバーでもなければHTTPサーバーのことでもありません。 そこにメールサーバーがあるならそこに向かってSMTPでメールを送ればいいだけです。 発信側が生きていればいいだけです。 相手方クライアントがいきているかどうかはわかりません。 社員数名にメールを出す、という程度なら、CCでそのアドレスを並べて送ればいいだけで、面倒なことをする必要はありません。 これをプログラムするのは簡単で、excelでもsendmailというのが用意されています。 定時にやるのであればOntimeイベントを使います。 このへん細かいところはVBAの本を参照ください。 cronの話をしたひとがいましたが、これはUNIXのサーバー上でデータのバックアップなんかで使う方法です。 メール送信にはあまり使いません。
お礼
回答ありがとうございました。 説明がたりませんでした。送りたいメールの内容はデータベースに格納されたデータを利用して一人一人バラバラに送る(誰に送るかすら毎回データを処理して決める)のでphpでやるのがいいんじゃないかと考えています。 Ontimeイベントというのはエクセルの機能みたいなものかと思いますが、エクセル自体はもとよりパソコン自体立ち上がっていない状態でも使える方法があるのでしょうか?例えばサーバー上にエクセルファイルを置いておけば勝手に時間がきたら動作しますか?
- t_ohta
- ベストアンサー率38% (5292/13827)
cronを使って実行する。
お礼
回答ありがとうございました。cronというのは見かけたことはありましたが、Linux系みたいに書いてあり自分には無関係かと思ったため調べが足りていませんでした。使えそうか調べてみたいと思います。
お礼
ご回答ありがとうございます。 phpでのメール作成に関しては(試行錯誤ですが)できます。 昨日アドバイスをいただき借りているサーバーでもcronが使えるらしいので、今回のことに実際に使えそうかテストしようと思いつつまだできていません。 ただたぶん教えていただいた方法で解決できそうなので嬉しいです。