Python 3 は starttls connect をサポートしていますが、python 2.7 はサポートしていません。
しかし、私の現在の大きな python コードは python 2.7 で実行されるため、すぐに 3 に移行することはできません。
では、imap および starttls セキュリティを使用して Microsoft Exchange サーバーに接続できますか?
詳細が必要ですか?
Python 3 は starttls connect をサポートしていますが、python 2.7 はサポートしていません。
しかし、私の現在の大きな python コードは python 2.7 で実行されるため、すぐに 3 に移行することはできません。
では、imap および starttls セキュリティを使用して Microsoft Exchange サーバーに接続できますか?
詳細が必要ですか?
少し時間が経ちましたが、これが他の人に役立つことを願っています。Python 3 または Python 2 で imaplib を使用して、TLS 経由で Exchange に接続できます。
Python 3 には IMAP4.starttls() メソッドがありますが、Python 2 にはありません。Python 2 の場合は、代わりに IMAP4_SSL サブクラスを使用してください。次のスニペットは、TLS 経由で office365.com に接続する実用的なソリューションからのものです。
from imaplib import IMAP4
. . .
def _connect(self, host, username, password, use_tls=False):
"""Establishes an IMAP connection, optionally over TLS."""
try:
src = IMAP4(host)
if use_tls:
src.starttls()
src.login(username, password)
except . . .
from imaplib import IMAP4, IMAP4_SSL
. . .
def _connect(self, host, username, password, use_tls=False):
"""Establishes the IMAP connection, optionally over TLS."""
try:
src = IMAP4_SSL(host) if use_tls else IMAP4(host)
src.login(username, password)
except . . .