繁体   English   中英

ActionMailer,发送带有背景图片的电子邮件

[英]ActionMailer, sending out an email with a background image

我正在尝试向用户发送HTML电子邮件,该电子邮件本质上只是一张大图片。 到目前为止,我还没有尝试过任何花哨的东西。 我的看法如下所示:

<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
    <style type="text/css">
      body {
         background-image: url('https://s3.amazonaws.com/my-bucket/image.png');
         background-repeat: repeat-y no-repeat;
         background-color: #333;
         margin: 0;
         padding: 0;
      }
    </style>
  </head>
  <body>
  </body>
</html>

我并不完全关心在所有邮件客户端上进行这项工作,但是主要的邮件客户端会很棒。 当我使用ActionMailer发送此电子邮件时,我只会收到一条空消息。 至少在gmail Web客户端中,该图像看起来没有被应用。

任何建议都很好。 我也希望使整个图像可点击,这些图像会转到iTunes商店链接,但是当我显示图像时,我将介绍该部分。

您确定文件可以公开访问吗? 尝试直接访问URL。 如果不是,则必须在亚马逊存储桶中将其标记为可公开访问。

这是来自我们的一个邮递员的片段,带有S3上的图像(.erb文件),并且工作正常:

Dear <b><%= @card.first_name %></b>,
<br/><br/>
Thank you for being a member with us since <strong><%= @card.start_date.strftime("%d %b %Y") %></strong>.
<br/><br/>

 ...

 Warm Regards,
 <br/>
Team MyCompany
<br/><br/>
<% if Settings.show_banner_image_in_email %>
  <div style="text-align:center;">
    <a href="<%= Settings.website_url %>">
      <img src="http://cdn2.mywebsite.com/images/EmailFooterBanner.jpg" width="590px" height="118px" />
    </a>
  </div>
<% end %>

<b>Happy to Help!</b>
<br/>Voice: 23424234242342
<br/>E-mail: <a href="mailto:customercare@mywebsite.com">customercare@mywebsite.com</a>
<br/>Web: <a href="<%= Settings.website_url %>"><%= Settings.website_url %></a>
<br/>

编辑:如果您在应用程序/邮件程序中的模型称为UserMailer ,则必须将邮件程序视图存储在视图下名为“ user_mailer ”的文件夹中。 那是它被捡起来的时候。

电子邮件中的所有CSS应该是内联的。 考虑使用像premailer这样的premailer来帮助内联它。

https://github.com/fphilipe/premailer-rails3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM