gpt4 book ai didi

html - Rails 中的 Mailer 中的图像/CSS 不仅适用于 Gmail

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:45 24 4
gpt4 key购买 nike

我正在制作一个 Rails 应用程序。当用户注册时,我使用设计发送确认邮件。

我发现我的图像和 css 已加载到其他电子邮件提供商(如 hotmail)中。但是,我的邮件程序 View 中的图像/css 未在 gmail 中正确加载。我想知道为什么它只在 gmail 中不起作用。我将所有 CSS 置于内联样式中,因为我发现无法将 CSS 文件添加到邮件 View 。

production.rb ,我设置asset_host:

config.action_mailer.asset_host =  ENV['DEFAULT_HOST']

下面是我在 Rails 中的邮件程序代码:

<body style="background-color: #F7F7F7;">
<div class="main wrapper clearfix">
<div style="border: 1px solid #e4e4e4;
border-radius: 5px;
margin: 50px auto;
padding: 20px 50px;
box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.15);
background-color: white;
max-width: 700px;">
<div style="text-align:center">
<%= image_tag("logo-green.svg") %>
</div><br><br>
<div>
<p>Welcome <%= @user.first_name %>!</p>

<p style="line-height: 1.5">Let's confirm your email address. Click the button below to confirm your email.</p>

<%= link_to 'CONFIRM ACCOUNT',
confirmation_url(@resource, confirmation_token: @token),
style: "font-family: Raleway-SemiBold, sans-serif;
-webkit-font-smoothing: antialiased;
display: inline-block;
cursor: pointer;
text-decoration: none;
color: white;
letter-spacing: 1px;
padding: 13px 30px;
font-size: 0.8em;
color: #fff;
background-color: #00BA9B;
transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
transition-delay: 0.2s;
box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.26);
margin-top: 25px;
margin-bottom: 20px;
border-radius:" %>

<br><br>
<p style="line-height: 1.5">Thanks,<br>website <br> <a href="www.website.com" style="color: #00BA9B; text-decoration:none">www.website.com</a></p>
<br>

<p style="color:grey; font-size:11px;">P.S. If you didn't sign up for website, please ignore this email - apologies for the disturbance.<p>
</div>
</div>
</div>
</body>

我看到 CONFIRM ACCOUNT 上的任何 CSS标签根本不起作用,<%= image_tag("logo-green.svg") %>也根本没有加载。

奇怪的是,它在hotmail 中有效,但在Gmail 中无效。

很想得到任何建议!

最佳答案

我认为您需要将图像定义为邮件中的附件。例如。我在 app/mailers/customer_mailer.rb 有一个邮件有一个方法 verification_confirmation .在这种方法中,我有以下行:

attachments.inline['logo.png'] = File.read(Rails.root.join("app/assets/images/logo.png"))

现在,在这封电子邮件的 View 中(即 app/views/customer_mailer/verification_confirmation.html.erb 我现在可以像这样嵌入图像:

<%= image_tag attachments['logo.png'].url, style: "width: 15vw; min-width: 200px;" %>

关于html - Rails 中的 Mailer 中的图像/CSS 不仅适用于 Gmail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com