[PHP-users 23678] Re: imap_open 関数使用時のエラーに関する相談

mori takamo @ free.japandesign.ne.jp
2004年 11月 21日 (日) 17:08:37 JST


モリ です。

表題: [PHP-users 23676] imap_open 関数使用時のエラーに関する相談
日付: Sun, 21 Nov 2004 12:26:50 +0900
ID:   <000901c4cf7a$16876bf0$0500a8c0 @ muwa>
"muwa" <muwa @ ba2.so-net.ne.jp> さんの記された上記メールに関してです。

> 具体的には、以下のいろいろなパターンで、imap_open 関数をトライしてみました。
> (1) $mbox = imap_open ("{pop.***.******.ne.jp:110/pop3}INBOX", "user_id",
> "password");
> (2) $mbox = imap_open ("{pop.***.******.ne.jp:110/pop3/notls}INBOX",
> "user_id", "password");
> (3) $mbox = imap_open ("{pop.***.******.ne.jp/pop3:110}INBOX", "user_id",
> "password");
> (4) $mbox = imap_open ("{pop.***.******.ne.jp/pop3:110/notls}INBOX",
> "user_id", "password");
> (5) $mbox = imap_open ("{pop.***.******.ne.jp:110}INBOX", "user_id",
> "password");
> 何れの場合も、"Couldn't open stream {pop.***.******.ne.jp...}INBOX ...." と
> いうエラーメッセージが発生してしまいます。

imap_openはIMAP(Interim Mail Access Protocol)で通信する事しか支援して
くれないのではありませんか。
アドレス(pop〜という名前や:110というポート番号)から、POP(Post Office
Protocol)でやりとりするサーバを指定している様に見えます。

これは、英語しか話せない人に日本語で話しかけている様なものです。
メールを送ってよと話しかけてもその内容が相手に伝わりません。

socketを使ってPOPでお話するか、外部のソフトを使うか、PHPにPOPを話す機
能を実装するか………。
一番お手軽なのは外部のソフトを使う事かな。IMAPでサービスしているメール
サーバを使うとか他にも色々手段はありますが。


> 因みに、クライアントPC(Windows 2000)の "Outlook Express 6"では、上記プロバ
> イダにおいて、
> サーバー情報:受信メールサーバーの種類 : POP3
> サーバー情報:受信メール(POP3) : pop.***.******.ne.jp
> 受信メールサーバー:アカウント名 : user_id
> 受信メールサーバー:パスワード : password
> を設定することによって、問題なくメールは受信できます。

そのプロバイダにIMAPが使えるか聞いてみるのも良いかな。


> 何か、imap_open 関数の使用上の根本的なところに問題があるように感じています
> が、助言頂ければ幸いです。

現在、良く使われているメールサーバがサービスしているプロトコルにはSMTP・
POP3・IMAP4等があります。
で、それぞれのプロトコルで標準となっているポート番号もやりとりする手順
も違うのでサーバがサービスしているプロトコルを使って接続する必要があり
ます。

その辺りを合わせて書きましょう。


PHP-users メーリングリストの案内