【发布时间】:2019-02-08 16:26:23
【问题描述】:
如果我使用 roadie/premailer 在 Hanami 中转换我的电子邮件,那么我应该将转换代码放在 Hanami 的哪里?
谢谢
【问题讨论】:
如果我使用 roadie/premailer 在 Hanami 中转换我的电子邮件,那么我应该将转换代码放在 Hanami 的哪里?
谢谢
【问题讨论】:
这是一个关于电子邮件 CSS 内联的更一般的问题。你可以查看这个 gem:https://github.com/premailer/premailer
【讨论】:
prepare 更改mail 对象?这是一个在发送电子邮件之前执行的钩子。见github.com/hanami/mailer#attachments
这是有效的代码:
在gemfile中:
gem 'roadie', '~> 3.4'
假设我们把样式放在:lib/app/mailers/assets/stylesheets/mail.css邮件的prepare方法中:
html_part = mail.html_part
old_html = html_part.body.decoded
document = Roadie::Document.new old_html
document.add_css File.read( File.join(Hanami.root, "lib", "app", "mailers", "assets", "stylesheets", "mail.css"))
new_html = document.transform
html_part.body = new_html
【讨论】: