【问题标题】:Bulk Mailing multiple Attachments result in corrupted files in Flask批量邮寄多个附件会导致 Flask 中的文件损坏
【发布时间】:2021-10-28 11:37:47
【问题描述】:

我正在编写一个带有附件的 FlaskMail 应用程序,它是一个 WTForm 的MultipleFileField。我也在阅读来自 xlsx 文件的电子邮件,并批量发送带有多个附件的电子邮件。 但是,只有列表中的第一个人能够阅读附件,其余的人会得到文件的损坏版本。

这是我的代码:

代码

    with mail.connect() as conn:
        for contact in contacts:
            message = "Hi %s \n\n" % (contact['name']).capitalize()
            message += body
            subject = subject
            msg = Message(recipients=(contact['email']).split(),
                          sender=sender,
                          html=message,
                          subject=subject,
                          )
            for f in request.files.getlist('attachment'):
                msg.attach(filename=f.filename,
                           content_type=f.content_type,
                           data=f.read())
            conn.send(msg)
        return Response("Success")

【问题讨论】:

    标签: python flask flask-mail


    【解决方案1】:

    参考this的帖子解决了。

    with mail.connect() as conn:
        for contact in contacts:
            message = "Hi %s \n\n" % (contact['name']).capitalize()
            message += body
            subject = subject
            msg = Message(recipients=(contact['email']).split(),
                          sender=sender,
                          html=message,
                          subject=subject,
                          )
            for f in request.files.getlist('attachment'):
                msg.attach(filename=f.filename,
                           content_type=f.content_type,
                           data=f.read())
            conn.send(msg)
            f.seek(0)
        return Response("Success")
    

    代码中唯一的变化是添加了以下语句。

    f.seek(0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多