2

Python 3 は starttls connect をサポートしていますが、python 2.7 はサポートしていません。

しかし、私の現在の大きな python コードは python 2.7 で実行されるため、すぐに 3 に移行することはできません。

では、imap および starttls セキュリティを使用して Microsoft Exchange サーバーに接続できますか?

詳細が必要ですか?

4

1 に答える 1

4

少し時間が経ちましたが、これが他の人に役立つことを願っています。Python 3 または Python 2 で imaplib を使用して、TLS 経由で Exchange に接続できます。

Python 3 には IMAP4.starttls() メソッドがありますが、Python 2 にはありません。Python 2 の場合は、代わりに IMAP4_SSL サブクラスを使用してください。次のスニペットは、TLS 経由で office365.com に接続する実用的なソリューションからのものです。

パイソン3

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 . . .

パイソン 2

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 . . .
于 2016-03-09T02:01:44.257 に答える