【发布时间】:2010-05-17 11:38:13
【问题描述】:
我想知道如何将网页(HTML 页面)作为电子邮件发送。我想在 html 页面中添加样式,例如图像或某些表格格式。我想知道我应该在“conta.text.html.erb”中添加样式还是可以在其中添加 CSS?
【问题讨论】:
标签: ruby-on-rails ruby html-email
我想知道如何将网页(HTML 页面)作为电子邮件发送。我想在 html 页面中添加样式,例如图像或某些表格格式。我想知道我应该在“conta.text.html.erb”中添加样式还是可以在其中添加 CSS?
【问题讨论】:
标签: ruby-on-rails ruby html-email
在电子邮件中添加带有 CSS 的文件并不是最佳做法。您需要在电子邮件中定义内联 CSS。
关于资产,最好将其托管在您的网站中。您可以在您的电子邮件中链接它。使用这种技术,您的电子邮件会更轻松。
【讨论】:
我发现一些项目有助于跨多个客户端的电子邮件可读性:
使用表格进行布局和元素定位
不要将图片直接包含在您的电子邮件中,而是从您的网站中引用它们src= "http://example.com/myimage.jpg"
始终发送 text.plain 备份,以防最终用户的客户端无法读取 html(例如军队)。
使用 sihingara 推荐的内联样式,如果您必须使用 css 和/或 js,请确保输入绝对路径,以便 src = "http://example.com/myjavascript.js" 而不是 src= " /myjavascript.js"
希望这会有所帮助,如果不是请提出后续评论。
【讨论】:
如上所述,HTML 电子邮件不能很好地与声明为外联的样式块配合使用。 Webmail 客户端尤其倾向于将它们完全剥离。
最佳做法是只使用内联样式;为此,我强烈推荐Premailer Plus gem,它将所有样式嵌入到一个 html 块中。取决于您的工作流程;您可以在构建模板时执行此操作,也可以在发送每封电子邮件之前作为预处理器执行此操作。
【讨论】: