使用 Flask Mail 和 SendGrid 导入 CSS 文件不起作用
Importing CSS files with Flask Mail and SendGrid Does Not Work
我正在使用 Flask 和 SendGrid 发送电子邮件,我可以使用 HTML 发送电子邮件,但不能使用 CSS。
这是我发送电子邮件的代码:
from app import mail
from flask import render_template, url_for
from flask_mail import Message
def send_email(to, subject, body):
msg = Message(subject=subject, recipients=[to])
msg.body = body
msg.html = render_template('mail/email.html', body=body)
mail.send(msg)
下面是我导入 CSS 文件的方式(这适用于所有其他文件):
<link type="text/css" href="{{ url_for('static', filename='assets/css/pixel.min.css') }}" rel="stylesheet">
如果上述代码有问题导致发生这种情况,请告诉我。
正如我之前所说,我的问题是我导入到 email.html 中的 CSS 文件没有设置电子邮件的样式。那么有什么办法可以解决这个问题,还是我必须使用 SendGrid 电子邮件模板?
<link>
元素没有良好的跨电子邮件支持。 https://www.caniemail.com/features/html-link/
您应该首先在每个元素中内联 CSS。有在线服务可以为您自动内联 CSS。
其次,在HTML文档中嵌入不能内联的CSS(通常只有媒体查询和hack),即在[=12=中使用<style>...</style>
].
你不能只嵌入 CSS 而忘记内联的原因是,你猜对了,<style>
并不是所有的东西都支持! https://www.caniemail.com/features/html-style/
我正在使用 Flask 和 SendGrid 发送电子邮件,我可以使用 HTML 发送电子邮件,但不能使用 CSS。
这是我发送电子邮件的代码:
from app import mail
from flask import render_template, url_for
from flask_mail import Message
def send_email(to, subject, body):
msg = Message(subject=subject, recipients=[to])
msg.body = body
msg.html = render_template('mail/email.html', body=body)
mail.send(msg)
下面是我导入 CSS 文件的方式(这适用于所有其他文件):
<link type="text/css" href="{{ url_for('static', filename='assets/css/pixel.min.css') }}" rel="stylesheet">
如果上述代码有问题导致发生这种情况,请告诉我。
正如我之前所说,我的问题是我导入到 email.html 中的 CSS 文件没有设置电子邮件的样式。那么有什么办法可以解决这个问题,还是我必须使用 SendGrid 电子邮件模板?
<link>
元素没有良好的跨电子邮件支持。 https://www.caniemail.com/features/html-link/
您应该首先在每个元素中内联 CSS。有在线服务可以为您自动内联 CSS。
其次,在HTML文档中嵌入不能内联的CSS(通常只有媒体查询和hack),即在[=12=中使用<style>...</style>
].
你不能只嵌入 CSS 而忘记内联的原因是,你猜对了,<style>
并不是所有的东西都支持! https://www.caniemail.com/features/html-style/