【问题标题】:How to Transform Emails in Hanami to include inline the styles defined in an external css file?如何在 Hanami 中转换电子邮件以包含内联外​​部 css 文件中定义的样式?
【发布时间】:2019-02-08 16:26:23
【问题描述】:

如果我使用 roadie/premailer 在 Hanami 中转换我的电子邮件,那么我应该将转换代码放在 Hanami 的哪里?

谢谢

【问题讨论】:

    标签: ruby hanami


    【解决方案1】:

    这是一个关于电子邮件 CSS 内联的更一般的问题。你可以查看这个 gem:https://github.com/premailer/premailer

    【讨论】:

    • 我在我的项目中使用了那个 gem :)
    • 您是否尝试通过prepare 更改mail 对象?这是一个在发送电子邮件之前执行的钩子。见github.com/hanami/mailer#attachments
    【解决方案2】:

    这是有效的代码:

    在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
    

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 2014-01-03
      • 2015-10-09
      • 2015-02-19
      • 2011-09-29
      • 1970-01-01
      • 2011-09-01
      • 2010-12-21
      相关资源
      最近更新 更多