我发送电子邮件时,它可以按我的意愿工作,但是当电子邮件到达时,它附带了我用作邮件背景的附件图片
这就是我在电子邮件中添加图片的方式
<div style="background-image:url('<%= email_bg_tag("bg-email.jpg") %>');background-position:top center;background-repeat:no-repeat;background-color:transparent;">
这是我的email_helper.erb
module EmailHelper
def email_bg_tag(image)
attachments[image] = File.read(Rails.root.join("app/assets/images/#{image}"))
attachments[image].url
end
end
我在assets/image
中的图像
答案 0 :(得分:4)
跳过资产管道以使静态图像在您的电子邮件发送器中起作用,您应将其放入:
Rails.root + 'public/images'
然后在我们的电子邮件发送程序中,应使用带有完整URL的css指向图像:
background-image:url('http://yoursite.com/public/images/background.jpg');
我建议您在邮件中使用样式标签,然后仅添加如下类:
<style>
.my-fancy-background {
background-image: url('http://yoursite.com/public/images/bg-email.jpg');
background-position: top center;
background-repeat: no-repeat;
background-color: transparent;
}
</style>
<div class="my-fancy-background">
Here is my email div with some fancy background
</div>
但是,如果您仍然需要辅助方法,则可能还需要在application.rb中设置它。
config.action_mailer.asset_host = 'http://example.com/public/'
# use public url of your app where your static images can be served from.
更新
根据gwally的评论,Outlook可能不支持此功能,因此,如果您关心Outlook将支持此功能,则可能要have a look here