0

POP3 サーバーからメールを取得するプログラムを作成しました。ユーザーの 1 人が次の問題に遭遇しました...

私のプログラムがそれに接続すると、彼のメールサーバーは挨拶を発行します:

+OK Lotus Notes POP3 server version X2.0 ready <PrintableCharacters.UnprintableCharacters>

山かっこで囲まれた部分は、いわゆる APOP 認可の課題です。チャレンジ (および POP3 プロトコルの他のすべての文字列) には通常、ASCII 文字のみが含まれます。しかし、今回の課題は 2 つの部分で構成されています。2 つ目の部分には印刷できない文字が含まれています。パターンは次のとおりです: 最初に 0x5、次に非 ASCII 文字。これは、Lotus Notes 開発者によって導入された特殊なエンコーディングのようです。

チャレンジをそのまま抽出して APOP 認証に使用すると、サーバーは拒否します。

LMBSC で見つけたすべてを注意深く読んだ後、次のことを差し引きました。0x5 は、いわゆる「グループ 5」文字を示す接頭辞です。各文字は実際には Win-1251 文字ですが、先頭に 0x5 が追加されています。

それで、すべての 0x5 を取り除き、正当な ASCII と印刷不可能な Win-1251 だけを残して、それらを通常の APOP 認証アルゴリズムに渡しました。ただし、サーバーは拒否されます。

それは Win-1251 文字で LMBSC をデコードする正しい方法ですか、それともサーバー側の問題ですか?

4

1 に答える 1

1

一部のドミノサーバー(7.x、8.x)を確認しましたが、サーバーのグリーティングにAPOPタイムスタンプが見つかりませんでした。それから私はグーグルでこれを見つけました:APOPコマンドを使用したPOP3認証の失敗

Domino POPサーバーはAPOPをサポートしていないようですが、6.5.5より前のバージョンでは、あいさつにタイムスタンプが表示されます。

于 2009-07-25T16:31:15.470 に答える