Я использую exchangelib для подключения к обмену и ответа на электронные письма. Но при отправке ответа он не поддерживает вложения.
Согласно этому ответу Мне нужно «создать обычный элемент сообщения, который имеет заголовок« Re: some subject », содержит вложение и цитирует исходное сообщение, если это необходимо».
но я не уверен, как "процитировать" оригинальное сообщение
Я использую следующий код для ответа:
из пути импорта пути pathlib
из exchangelib import Сообщение, Аккаунт, FileAttachment
account = Account(...)
item = ...
file_to_attach = Path('/file/to/attach.txt')
message = Message(
account=account,
subject="Re: " + item.subject,
body="This is reply by code",
cc_recipients=item.cc_recipients,
to_recipients=[item.sender],
in_reply_to=item.id,
conversation_id=item.conversation_id,
)
with file_to_attach.open('rb') as f:
content = f.read()
message.attach(FileAttachment(name=file_to_attach.name, content=content))
message.send_and_save()
Он отправляет электронное письмо с вложением, но не сохраняет текст из исходного письма в ответ и выглядит как новое письмо вместо ответа. также не отображается как разговор в gmail
Я могу упустить что-то маленькое здесь подскажите пожалуйста как это исправить