0

我正在尝试向我们的用户发送本质上只是一个巨大图像的 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 商店链接,但当我让图像显示时我会到达那部分。

4

2 回答 2

0

您确定您的文件可供公众访问吗?尝试直接访问 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/>

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

于 2012-12-24T17:57:01.973 回答
0
于 2012-12-24T18:09:16.360 回答