首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送带有内联图像的电子邮件Flask-Mail?

发送带有内联图像的电子邮件Flask-Mail?
EN

Stack Overflow用户
提问于 2019-03-21 06:57:22
回答 1查看 2.7K关注 0票数 3

我有一个使用FlaskFlask-Mail的应用程序。我试图发送一封电子邮件,使用一个html文件作为模板与内联图像。除了我看不到图像之外,一切都正常。我的代码是:

代码语言:javascript
复制
    msg = Message(subject, sender=sender, recipients=recipients)
    msg.body = text_body
    msg.html = html_body
    msg.attachments = [
        Attachment(
            'header.gif',
            'image/gif',
            open(join(mail_blueprint.static_folder, 'header.gif'), 'rb').read(),
            'inline'
        )
    ]
    mail.send(msg)

对于html文件,我尝试了几种引用它的方式,例如:

<img src="cid:footer.gif"><img src="{{ url_for('mail.static', filename='header.gif') }} ">

有没有任何参考资料或想法说明为什么这些不起作用?

EN

回答 1

Stack Overflow用户

发布于 2019-04-25 03:37:38

您需要在附件中添加“Content-ID”标头值。

代码语言:javascript
复制
msg = Message(subject, sender=sender, recipients=recipients)
msg.body = text_body
msg.html = html_body
msg.attach('header.gif','image/gif',open(join(mail_blueprint.static_folder, 'header.gif'), 'rb').read(), 'inline', headers=[['Content-ID','<Myimage>'],])
mail.send(msg)

然后,在您的模板中,您将通过Content-ID引用附件。

代码语言:javascript
复制
<img src="cid:Myimage">
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55271348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档