【问题标题】:How to make css available for gmail using sendgrid如何使用 sendgrid 使 CSS 可用于 gmail
【发布时间】:2016-03-25 09:28:19
【问题描述】:

我正在为我的 rails 应用程序使用 Sendgrid api 来发送电子邮件,但在 gmail 中不支持在 head 标签中编写的 css 我应该怎么做才能使 css 工作。

【问题讨论】:

  • 你尝试过内联样式
  • 我无法添加,因为css非常复杂,如何将css添加到每个标签。
  • 使用服务器 url 设置 css 文件路径,如果您的项目部署在以下位置:http://project.herokuapp.com/assets/style.css 否则您将不得不使用内联样式
  • 是否有任何选项可以像 mandrill 一样允许 css 像在 mandrell 我们有 inline_css 选项。
  • 你可以查看这个 gem premailer-rails,它可能会提供你需要的东西

标签: ruby-on-rails ruby-on-rails-4 gmail sendgrid sendgrid-ruby


【解决方案1】:

幸运的是,这与您使用 SendGrid 无关。

根据 FreshInbox 的说法,Gmail 在主要的网络邮件客户端中是独一无二的,因为它与头部样式标签中的普通选择器完全不兼容。这是因为它会更改电子邮件中的所有类和 ID。您可以使用non-standard selectors 解决此问题。

不过,通常情况下,开发人员会使用内联样式来解决这个问题。正如 bwest 所提到的,premailer-rails gem 可以通过自动将样式表中的样式作为内联来帮助您完成此任务。使用非常简单,只需将 nokogiri 和 premailer-rails 添加到您的 Gemfile 中即可:

gem 'nokogiri'
gem 'premailer-rails'

【讨论】:

    【解决方案2】:

    为确保与最大数量的电子邮件客户端兼容,您应该在发送 HTML 电子邮件时使用内联 css。目前我们不将此作为 SendGrid 的一部分提供,但您可以使用 gem 来完成此操作。

    【讨论】:

      【解决方案3】:

      Gemfile.rb

      gem 'roadie-rails'
      

      比x_mailer.rb里面的

      include Roadie::Rails::Automatic
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-31
        • 2012-07-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多