• 締切済み

WinXP+Apache1.3.29 + php4で、メール受信する方法

こんにちは。 WinXP+Apache1.3.29という環境で、php4でメールを受信したいと思っています。 IMAP,POP3,NNTP関数関連のphp本家のドキュメントに目を通したのですが、linux用の設定方法しか掲載されていませんでした。 WinXPではどのように設定をしたら良いのか、ご教授ください。

みんなの回答

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.3

> jamesあたりを使えばなんとかなるかなぁ、とか考えているのですが、なにか良い案があったら、 > 頂けるととてもうれしいです。 ごめんなさい。それは知りません(^^;

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

> メールサーバーにメールが着信したのが、トリガーになって ごめんなさい(^^; 実はWindowsはよく知りません。UNIXならcronで回して…と言うのですが。 まあ、しかし対応策はあります!(笑) 1.まず不特定多数の誰かが、特定のメールアドレスにメールしたとします。 2.その時、PHPのメールフォーム側で、送信者に「http://www.sample.com/~hoge/confirm.phpにアクセスしてください」らしきことを書いたメールを自動で返信する。 3.confirm.phpにアクセスがあったことをトリガーにすれば、vaccusさんのやりたいことを実現できると思います。 (別にメールを自動返信しなくても、フォームからメールが来た後、移行先のページで、<a href="./confirm.php">次へ</a>とか入れるのもOK) 重要なのはconfirm.phpにアクセスしてもらうことです。 > 「ポート110にSock接続し」とありますが、phpのどのような関数を使えばよいのか こちらは通常の telnet mail.sample.com 110 としたときの流れをコーディングしてあげればいいだけです。 例を挙げると $sock=fsockopen("mail.sample.com",110,$err,$errno,10); $buf=fgets($sock,4096); ↑これでメールサーバーに接続できます。 ちゃんと接続できていれば、 +0K <…………> とサーバーから返事が来ますから、その後 fwrite($sock,"USER hoge\r\n"); $buf=fgets($sock,4096); fwrite($sock,"PASS hogefuga\r\n"); $buf=fgets($sock,4096); のように通常のTELNETコマンドをコーディングしてやるだけです。 TELNETコマンドに関しては、ネット上にいくらでもドキュメントが転がっていますので、探してみてください。 では頑張ってください。

vacuus
質問者

補足

おはようございます。 詳しい説明ありがとうございます。おかげさまで、 1.携帯端末から画像ファイル添付ファイルをメールサーバーに送信 2.携帯端末からhogehoge.phpにアクセス 3.hogehoge.phpが、メールサーバーにソケット接続、マルチパート処理し、ウェブコンテンツを更新 というシステムが完成しました。 上記2を省く、つまりメール送信がトリガーになって、hogehoge.phpが、起動してくれるようなシステムに本来はしたいのですが、なにせ環境がWinなので、cronが使えないためどうしたものか、なやんでいます。 Apacheプロジェクトの、jamesあたりを使えばなんとかなるかなぁ、とか考えているのですが、なにか良い案があったら、頂けるととてもうれしいです。 補足のはずが、更なる質問のようになってしまいすみません。よろしくお願いします。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

PHPでメールを受信したい…と言う意味がよく分かりません(^^; これは、POPサーバーを利用せずにメールを受信したいと言うことでしょうか? もしメールサーバーソフト自体を作りたいのであれば、果たしてPHPが向くかという所に行き着いてしまいます(笑) それとも、サーバーが受信したメールをPHPで見たいって事でしょうか? (簡単に言えばWebメールです) それであれば、ポート110にSock接続し、fgets等の関数で、サーバーにコマンドを送ればいいですよ。 (マルチパートの処理などは別途勉強しないと行けませんが)

vacuus
質問者

補足

おはようございます。 ちょっと質問が言葉足らずだったようですね。補足します。 やりたい事は、メールサーバーにメールが着信したのが、トリガーになって、phpプログラムが作動し、メール記載されたメッセージと添付されたjpeg画像を利用し、webサーバーのコンテンツを更新する、そういうシステムを作りたいと思っているのです。 >ポート110にSock接続し、fgets等の関数で、サーバーにコマンドを送ればいい ふむふむ、「ポート110にSock接続し」とありますが、phpのどのような関数を使えばよいのか、ご教授いただけるとうれしいです。

関連するQ&A