2

Microsoft Exchange サーバー (2010 バージョン) に接続する次のコードがあります。これは私が問題を抱えている切り取られたものです。(テスト用に作成された他のメールサーバー/ローカルメールサーバーで動作します)。ユーザー/パスワードは検証され、この目的のためにハードコードされているため、スペルミスの問題はありません。このメール アカウントは Microsoft Outlook で使用しているため、サーバー側でも有効です。

self.connection = poplib.POP3_SSL('my.email.server')
self.connection.set_debuglevel(2)
print self.connection.getwelcome()
self.connection.user('myuser')
self.connection.pass_('mypassword')

結果は次のとおりです。

+OK The Microsoft Exchange POP3 service is ready.
*cmd* 'USER myuser'
*put* 'USER myuser'
*get* '+OK\r\n'
*resp* '+OK'
*cmd* 'PASS mypassword'
*put* 'PASS mypassword'
*get* '-ERR Logon failure: unknown user name or bad password.\r\n'
*resp* '-ERR Logon failure: unknown user name or bad password.'
Traceback (most recent call last):
  File "getMail.py", line 237, in <module>
    start_deamon()
  File "getMail.py", line 229, in start_deamon
    deamon.process_email()
  File "getMail.py", line 63, in process_email
    self.connection.pass_('password')
  File "C:\Python27\lib\poplib.py", line 189, in pass_
    return self._shortcmd('PASS %s' % pswd)
  File "C:\Python27\lib\poplib.py", line 152, in _shortcmd
    return self._getresp()
  File "C:\Python27\lib\poplib.py", line 128, in _getresp
    raise error_proto(resp)
poplib.error_proto: -ERR Logon failure: unknown user name or bad password.

エラーは明らかですが、ユーザー/パスが本物であることは確かです。POP と POP_SSL を介して接続しようとしましたが、結果は同じです。ウェルカム メッセージが表示されるので、サーバーが稼働しており、POP3/POP3_SSL をサポートしており、ポートが正しい (これがデフォルトです) ことを確認できます。サーバーが同じネットワーク上にあるファイアウォール/プロキシの背後にいません。

エラーは何ですか?POP3 だけを使用して Microsoft Exchange に接続する他の方法はありますか? (または必要に応じて IPMA)。

4

1 に答える 1

0

プログラムによるものではないというエラーのようです。コード自体はPOP3でもPOP3_SSLでも大丈夫です。

問題は、ネットワーク上で認証されていないマシンで実際にコードを実行しているため、Exchange サーバーがログインを許可しなかったことです。

于 2015-12-28T10:28:42.283 に答える