У меня есть небольшой код, который загружает вложения из почты.Он отлично работает, когда я запускаю его как отдельный файл.Но когда я импортирую код из другого файла Python, который находится в какой-то другой папке, код выдает длинный вывод и не останавливается.Висит моя система.
Вывод, который он выдает, представляет собой длинное декодированное сообщение, содержащее алфавиты, оно продолжает публиковать сообщение.
def fn():
username=""
password=""
credentials = Credentials(username="",password="")
config = Configuration(server="smtp.office365.com", credentials=credentials)
try:
account = Account(primary_smtp_address="", config=config,
autodiscover=False, access_type=DELEGATE)
except:
raise Exception("LOGIN FAILEd")
start = account.default_timezone.localize(EWSDateTime(2019, 9, 20))
end = account.default_timezone.localize(EWSDateTime(2019, 9, 21))
print(start)
print(end)
filename="report.xlsx"
unread = account.inbox.filter(sender="",datetime_received__range=(start,end),is_read=False,subject__contains="") # returns all mails
print(len(unread))
for item in unread:
for attachment in item.attachments:
regex=re.findall(filename,str(attachment.name))
if regex:
if isinstance(attachment, FileAttachment):
local_path = os.path.join("d:/files", attachment.name)
with open(local_path, 'wb') as f, attachment.fp as fp:
buffer = fp.read(1024)
while buffer:
f.write(buffer)
buffer = fp.read(1024)
print('Saved attachment to', local_path)