无法使用烧瓶邮件python将附件添加到邮件

Posted

技术标签:

【中文标题】无法使用烧瓶邮件python将附件添加到邮件【英文标题】:Cannot add attachment to mail using flask mail python 【发布时间】:2021-04-12 05:40:05 【问题描述】:

我正在使用烧瓶邮件通过 SMTP 发送邮件。邮件正在运行,但附件未添加到邮件中。我将文件路径存储在 db 中,然后获取文件路径并附加文件。 下面是我的代码

msg = Message(
                    subject=mail_data['subject'],
                    recipients=mail_data['to'], 
                    body=mail_data['content'], 
                    sender=mail_data['fromEmail'], 
                    cc=mail_data['cc'], 
                    bcc=mail_data['bcc'], 
                    html=None, 
                    reply_to=None, 
                    date=None, 
                    charset=None, 
                    extra_headers=None,
                    mail_options=None,
                    rcpt_options=None
                    
                )
                for files in mail_data['attachment']:
                    msg.attach(files,mimetypes.guess_type(files))

                mail.send(msg)

发送附件的格式是什么。附件是动态的,可以是任何类型的文件。

【问题讨论】:

【参考方案1】:

我用下面的代码修复了它

for files in mail_data['attachment']:
                    mime = magic.from_file(files, mime=True)
                    with open(files,'rb') as f:
                        msg.attach(filename=files, content_type=mime, data=f.read(), disposition=None, headers=None) 

【讨论】:

以上是关于无法使用烧瓶邮件python将附件添加到邮件的主要内容,如果未能解决你的问题,请参考以下文章

Android - 无法使用 FileProvider 添加电子邮件附件

烧瓶WTF到烧瓶邮件附件?

Python烧瓶多进程:无法“呈现”用于发送网格电子邮件正文的html页面

创建 PDF 并使用烧瓶邮件作为附件发送

无法添加附件

如何将 msg 中的附件附加到 Mime 以在 Python 中作为电子邮件发送?