Изображение, отправленное из flask mail, не может быть визуализировано

#python #html #email #flask #flask-mail

#python #HTML #Адрес электронной почты #flask #flask-mail

Вопрос:

У меня есть приложение, которое использует Flask и Flask-mail . Я пытаюсь отправить электронное письмо с прикрепленным изображением. Это изображение отправляется от пользователя через форму в html . Электронное письмо приходит, но изображение не может быть визуализировано, когда оно открыто в электронном письме.

Мой код:

 if request.method == 'POST':
            file = request.files['arch']
            if request.files['arch'].filename != '':
                if file and allowed_file(file.filename):
                    filename = secure_filename(file.filename)
                    file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

                    fic = open( "uploads/"   file.filename, "r", encoding='utf8', errors='ignore')

                    msg.attach("uploads/"   file.filename, "image/png", fic.read())

        mail.send(msg)

  

для html:

 <form action="/form" method="POST" enctype="multipart/form-data">
    <input type="file" name="arch" accept="image/*" class="arch">
</form>
  

Ответ №1:

fic Начиная со строки, попробуйте выполнить следующие изменения.

 with app.open_resource(UPLOAD_FOLDER) as test:
        msg.attach(UPLOAD_FOLDER, 'image/jpg', test.read())
    mail.send(msg)