[PHP-users 26608] Re: PEAR のPOP3でlogin部分でエラー
KOYAMA Tetsuji
koyama @ hoge.org
2005年 8月 25日 (木) 19:49:43 JST
小山です。
On 8/25/05, 倉谷蓮(有限会社コットンシステム開発) <ren @ ctnml.net>
wrote:
> 中村さんの指摘のとおりCAPAをしてみました。
> POP3のコマンドは全然今まで勉強したことがないのでまたあとでゆっくり調
> べてみることにしますが、とりあえず売ってみたところ
>
> +OK
> CAPA
> TOP
> USER
> UIDL
> RESP-CODES
> STLS
> SASL
> .
>
> となり、これは表示がない、ということでしょうか。
> これは具体的にどういった原因となるのでしょうか?
POP3 の CAPA コマンドは
RFC 2499: POP3 Extension Mechanism
http://www.faqs.org/rfcs/rfc2449.html
で規定されています。この文書の 6 章の例にあるように
Examples:
C: CAPA
S: +OK Capability list follows
S: TOP
S: USER
S: SASL CRAM-MD5 KERBEROS_V4
S: RESP-CODES
S: LOGIN-DELAY 900
S: PIPELINING
S: EXPIRE 60
S: UIDL
S: IMPLEMENTATION Shlemazle-Plotz-v302
S: .
通常 SASL タグにはサポートする認証メカニズムが
SASL CRAM-MD5 KERBEROS_V4
のように記述されます。Net/POP3.php の該当部分
case 'sasl':
$this->_capability['sasl'] = preg_split('/\s+/', $matches[3]);
は、その認証メカニズムを表す文字列を取り出しています。
ところが倉谷さんの設定した POP サーバは
> SASL
と何のオプションもつけずに SASL タグを返しているので、解析に失敗してい
るわけです。
そもそも POP サーバに関して、何というソフトをどのような設定で構築し
たかという情報が全くないので、設定に失敗しているらしい以上のこと、他の
人には分からないでしょう。
> プロバイダーで成功したものでもユーザー名、パスワードが間違っていても
> ログイン成功という結果を返します。PEARの元のソースがそういう仕様とい
> うことになればどうしようもないですよね…。
Net_POP3 は PEAR でもそれなりに使用実績のあるパッケージなので、おそ
らく使い方が間違えているのでしょう。
--
小山哲志@ビート・クラフト
koyama @ beatcraft.com
koyama @ hoge.org
PHP-users メーリングリストの案内