【发布时间】:2015-10-12 08:21:55
【问题描述】:
当我的 rails 应用程序将带有图像的电子邮件发送到 gmail 地址时 - gmail 不显示该图像 一开始我的 html 电子邮件代码中有图像标签:
<img alt="" src="http://my_image/url/email_logo.svg" style="width: 200px; height: 40%;" />
但是,当我在浏览器中查看时,gmail 不显示此图像,但如果我使用电子邮件客户端(AirMail)查看相同的电子邮件,则会显示图像 我将此图像更改为内联附件:
电子邮件视图:
<td valign="bottom"><%= image_tag attachments['email_logo.svg'].url , alt: '', style: "width: 200px; height: 40%;" -%></td>
my_mailer.rb
def send_my_email(email)
@email = email
attachments.inline['email_logo.svg'] = File.read(Rails.root.join("app/assets/images/", "email_logo.svg"))
mail(to: @email, subject: 'My Email')
end
如何让gmail显示这个图片?
【问题讨论】:
-
你能检查一下
send_my_email.html.erb是否正在被渲染吗? -
Rails 从 send_my_email.html.erb 执行代码时出现此错误
-
请显示日志..
-
刚刚加了log,找这个文件
send_report_email.html.erb in thelog -
从您的日志中,似乎没有创建附件。我的第一个猜测是这可能是媒体错误。尝试这样做:
File.read(Rails.root.join("app/assets/images/", "email_logo.svg"), mime_type: 'image/svg+xml')
标签: html css ruby-on-rails gmail