2016-06-04 2 views
3

Я пытаюсь отправить электронное письмо с 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" 

Что я недостающую для того, чтобы вложения должным образом отправлены?

+0

Ваш код выглядит отлично, я предполагаю, что у вас возникли проблемы с настройкой вашего почтового сервера или местоположением файла 'sample.txt'. – gevorg

ответ

1

Согласно Flask-Mail documentation, это должно прекрасно это сделать:

with current_app.open_resource("sample.txt") as fp: 
    msg.attach("sample.txt","text/plain", fp.read()) 
mail.send(msg) 
  • Где current_app.open_resource("sample.txt") открывает файл с sample.txt месте читать
  • И msg.attach("sample.txt","text/plain", fp.read()) присоединяет его с помощью sample.txt в качестве имени вложения
  • Наконец mail.send(msg) посылает электронная почта

Убедитесь, что ваше местоположение sample.txt верное, и если оно не работает, включите отладку на app.config['DEBUG'] = True и посмотрите, что это за ошибка.

+0

Я попробовал тот же метод, что не работает. ссылка вопроса - https://stackoverflow.com/questions/46811429/text-attachment-sent-using-flask-mail-is-not-received –

Смежные вопросы