Я пытаюсь отправить электронное письмо с Flask-Mail с прикрепленным файлом .txt. До сих пор либо я получаю сообщение об ошибке, либо отправляет электронное письмо, но .txt. Файл пустой Я пробовал два способа:Почему текстовое вложение, отправленное с использованием Flask Mail, пуст?
Один из способов следующие документации:
with current_app.open_resource("sample.txt") as fp:
msg.attach("sample.txt","text/plain", fp.read())
Это приводит к ошибке:
TypeError: 'exceptions.IOError' object is not callable
Я также попробовал без метода open_resource:
msg.attach("sample.txt","text/plain")
mail.send(msg)
Это привело к отправке электронной почты, но .txt. вложение было пустым.
Полный Try/за исключением блока ниже
try:
msg = Message("New File",
sender="SENDER",
recipients=["RECIPIENT"])
msg.body = "Hello Flask message sent from Flask-Mail"
with current_app.open_resource("sample.txt") as fp:
msg.attach("sample.txt","text/plain", fp.read())
mail.send(msg)
except Exception as e:
return e
return "file was successfully sent"
Что я недостающую для того, чтобы вложения должным образом отправлены?
Ваш код выглядит отлично, я предполагаю, что у вас возникли проблемы с настройкой вашего почтового сервера или местоположением файла 'sample.txt'. – gevorg