标签: premailer

如何使用Premailer-Rails gem为我的HTML电子邮件指定样式表?

我有一个样式表,我想在路径中的HTML电子邮件中使用: app/vendor/assets/stylesheets/inspinia/email_templates/email-styles.css

我使用Premailer-Rails gem来制作电子邮件样式.

在我的mailer.html.erb布局中,我有以下内容:

<%= stylesheet_link_tag "inspinia/email_templates/email-styles.css", media: 'all' %>
Run Code Online (Sandbox Code Playgroud)

但是,在我的Heroku日志中,我收到以下消息:

app[web.1]: [923202d9-b3f1-4b9a-9f42-7b70dcc01d92] Started GET "/stylesheets/inspinia/email_templates/email-styles.css" for 54.167.56.21 at 2016-12-23 23:25:08 +0000
app[web.1]: [923202d9-b3f1-4b9a-9f42-7b70dcc01d92]   
2016-12-23T23:25:08.286725+00:00 app[web.1]: [923202d9-b3f1-4b9a-9f42-7b70dcc01d92] ActionController::RoutingError (No route matches [GET] "/stylesheets/inspinia/email_templates/email-styles.css"):
Run Code Online (Sandbox Code Playgroud)

那么如何在生产中找出/指定此样式表的正确路径?

ruby-on-rails premailer asset-pipeline ruby-on-rails-5

12
推荐指数
1
解决办法
1226
查看次数

如何将'premailer'与Rails集成

如何将' premailer'gem与Rails(3.0.7)项目集成?我目前在我的邮件中:

def welcome(user)
  @user = user

  mail to: user.email, subject: "Welcome"
end
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何整合图书馆.我需要打电话:

premailer = Premailer.new(html)
html = premailer.to_inline_css
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何从邮件程序操作访问我的电子邮件的内容.

ruby ruby-on-rails actionmailer premailer

10
推荐指数
3
解决办法
4528
查看次数

Javascript中的CSS Inliner(预制商)

我使用CKEDITOR 4并且我想过滤HTML内容以直接在HTML元素中插入样式,如MailChimp及其CSS inliner(http://beaker.mailchimp.com/inline-css).但我必须在Javascript中做,有人有想法吗?

我可以使用jQuery和PrototypeJs.

我不能使用外部API.

我的测试jsFiddle与CKEditor(粘贴):http://jsfiddle.net/EpokK/utW8K/7/

在:

<style>
    .test {
       outline: 1px solid red;
    }
</style>
<div class="test">Hello</div>
Run Code Online (Sandbox Code Playgroud)

出:

<div style="outline: 1px solid red;">Hello</div>
Run Code Online (Sandbox Code Playgroud)

我找到了这个解决方案:http://tikku.com/scripts/websites/tikku/css_inline_transformer_simplified.js 但这个技巧打开一个标签,默认情况下它在Firefox中被阻止...

API解决方案:http://premailer.dialect.ca/

html javascript css ckeditor premailer

7
推荐指数
1
解决办法
2185
查看次数

如何让 PreMailer.Net 不更改非 ascii 字符的编码?

我还在官方仓库上发布了我的问题作为Github 问题

我正在使用PreMailer.Net将 CSS 内联到 HTML 文档中。但是,当我调用 MoveCssInline 时,它​​会编码非 ASCII 字符,例如“&”。例如:

<a href="http://www.website.com/page?param1=a&param2=b"></a>
Run Code Online (Sandbox Code Playgroud)

改为:

<a href="http://www.website.com/page?param1=a&amp;param2=b"></a>
Run Code Online (Sandbox Code Playgroud)

我认为这种行为仅限于 URL 和 href 值,但事实证明它也编码了innerHTML/content。例如:

此外,我进行了进一步测试,发现这种编码不仅仅针对 href 等属性进行。事实上,它也会对 text/InnerHTML 值进行编码,这些值在没有编码的情况下是绝对有效的 html。例子:

<p>&</p>
Run Code Online (Sandbox Code Playgroud)

这是有效的 HTML,不应进行编码,但 PreMailer.Net 会将其更改为:

<p>&amp;</p>
Run Code Online (Sandbox Code Playgroud)

有没有人对此有修复或解决方法?我无法控制 HTML 文档,并且除了内联 CSS 之外,不允许更改 URL 或内容。

html css premailer

7
推荐指数
1
解决办法
339
查看次数

如何在使用MvcMailer发送HTML电子邮件的同时使用PreMailer.Net内联CSS

使用MvcMailer,问题是我们的电子邮件是在没有CSS作为内联样式属性的情况下发送的.

PreMailer.Net是一个C#库,可以读取HTML源字符串,并返回带有CSS内联的结果HTML字符串.

我们如何一起使用它们?使用MvcMailer循序渐进指南中的脚手架示例,我们从UserMailer Mailer类中的这个示例方法开始:

public virtual MvcMailMessage Welcome()
{
    return Populate(x => {
        x.ViewName = "Welcome";
        x.To.Add("some-email@example.com");
        x.Subject = "Welcome";
    });
}
Run Code Online (Sandbox Code Playgroud)

css c# email premailer mvcmailer

2
推荐指数
1
解决办法
4080
查看次数