我刚写了一个凤凰电子邮件渲染器。当我通过应用程序发送电子邮件时,外部css不会被渲染,也没有拾取mailer.html布局。
我在下面做错了吗?
def invitation_email(conn, to_email) do
html = View.render_to_string(MailerView, "invitation.html", layout: {LayoutView, "mailer.html"}, conn: conn)
send_email to: to_email,
from: "hi@#{conn.host}",
subject: "Invitation from #{conn.host}!",
html: html
end
答案 0 :(得分:2)
这对我来说很好看。您确定不仅仅是电子邮件客户端没有加载CSS吗?我认为大多数都不会加载外部CSS,因此您需要将其放入<style>
标记。
我会在IO.inspect(html)
行后加html = ...
并在调用该函数时检查输出。这包括布局和CSS吗?
答案 1 :(得分:1)
我在工作的初创公司也遇到过这个问题,问题可能是内联样式没有内联。某些电子邮件客户端不支持样式表,因此您必须在每个标记中指定css样式。我最近发布了Smoothie,它会自动进行内联样式转换,因此html模板可以保持干净。此外,它还会创建html电子邮件的纯文本版本。