如何使用FlaskMail发送csv文件

2024-10-03 06:28:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个Flask应用程序,下面的代码是视图的一部分

msg = Message("[STATSUMM] DATA REQUESTED", sender="mateobonnett@gmail.com",recipients=[form.email.data])

msg.attach('app/Covid/Files/Covid_19_2020-03-31.csv', 'application/octet-stream')

mail.send(msg)

它在发送没有附件的电子邮件时表现良好。然而,当附加csv文件时,我得到了这个错误

TypeError: expected bytes-like object, not NoneType

我怎样才能修好它


Tags: csv代码com视图应用程序flaskmessagedata
1条回答
网友
1楼 · 发布于 2024-10-03 06:28:13

上面的代码片段有几个问题:

  1. 您不应该直接在msg.attach上读取文件

  2. 根据RFC7111,csv文件的mime类型应为 文本/csv

with app.open_resource("app/Covid/Files/Covid_19_2020-03-31.csv") as fp:
    msg.attach("Covid_19_2020-03-31.csv", "text/csv", fp.read())

有关Flask-Mail API的详细信息

相关问题 更多 >