发送 html 模板时不显示 Flask-mail 图像

Posted

技术标签:

【中文标题】发送 html 模板时不显示 Flask-mail 图像【英文标题】:Flask-mail image not showing when sending html template 【发布时间】:2020-06-20 17:23:21 【问题描述】:

我对 flask-email 很陌生,现在我尝试发送 html 电子邮件,该电子邮件在模板正文中包含图像,但是在电子邮件上打开此 html 时,图像没有显示,所以我该如何解决它。

这是我的示例代码。

    msg = Message('Test', sender='sender_email',  recipients=['receiver_email'])

    msg.html=render_template('Email.html')
    mail.send(msg)
    return render_template('Email.html')

这是我在Email.html中的img标签

<img src=" url_for('static', filename='images/logo.png', _external=True) ">
                

【问题讨论】:

【参考方案1】:

网站上线了吗?如果不是,它将显示指向本地主机图像的链接,但只有您可以在网络上打开它。这就是为什么您在电子邮件客户端中看不到它的原因。一旦您将网站发布到服务器或域,该链接就会公开,您将看到该图像。

【讨论】:

感谢您的回复,您的意思是如果我将我的应用程序部署在服务器上它会正常工作,对吧? 是的,应该的。

以上是关于发送 html 模板时不显示 Flask-mail 图像的主要内容,如果未能解决你的问题,请参考以下文章

Flask-mail 批量发送 HTML 电子邮件,在 html 中使用波斯语字体

用Flask-mail发送电子邮件

Flask Mail 在 Ubuntu 上部署时不起作用

使用flask-mail扩展发送邮件

发送消息时禁用登录 Flask-Mail

为啥 Flask-Mail 在测试期间实际上会发送消息