【发布时间】:2021-05-13 12:39:18
【问题描述】:
我有一个脚本来列出来自 Exchange 帐户的电子邮件,但它需要很长时间才能得到回复,有时我会收到类似的错误。
EXCEPTION IN (<string>, L_203 ""): HTTPSConnectionPool(host='outlook.office365.com', port=443): Read timed out.
或
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(10054, 'Se ha forzado la interrupción de una conexión existente por el host remoto', None, 10054, None)", ConnectionResetError(10054, 'Se ha forzado la interrupción de una conexión existente por el host remoto', None, 10054, None))
我不明白为什么要花这么长时间。我的账户会不会有问题?有时最多需要 2 分钟才能给出错误
这是我的代码的一部分:
class ExchangeModule:
def __init__(self, user_, pwd, server_, mail_):
self.pwd = pwd
self.mail = mail_
self.server = server_
self.user = user_
self.credentials = None
self.config = None
def init(self):
from exchangelib import Credentials, Configuration
self.credentials = Credentials(username=self.user, password=self.pwd)
self.config = Configuration(server=self.server, credentials=self.credentials)
return self.config
if module == "exchange":
user = GetParams('user')
password = GetParams('pass')
server = GetParams('server')
address = GetParams('address')
print('USUARIO', user)
exchange_module = ExchangeModule(user, password, server, address)
config = exchange_module.init()
if module == "get_new_mail":
if exchange_module.config is not None:
config = exchange_module.config
else:
raise Exception("Execute Email Configuration command")
address = exchange_module.mail
a = Account(primary_smtp_address=address, config=config,
access_type=DELEGATE, autodiscover=False)
var = GetParams('var')
filter_type= GetParams('tipo_filtro')
filtro = GetParams('filtro')
id_ = []
if filtro:
if filter_type== 'author':
for m in a.inbox.all():
if not m.is_read and filtro in m.author.email_address:
id_.append(m.id)
if tipo_filtro == 'subject':
mails_filters = a.inbox.filter(subject__contains=filtro)
for m in mails_filters:
if not m.is_read:
id_.append(m.id)
# print('FOR',m.id)
else:
id_ = [m.id for m in a.inbox.all() if not m.is_read]
SetVar(var, id_)
【问题讨论】:
标签: python exchange-server exchangelib