首页 > 解决方案 > Ruby on Rails ActionMailer 图像问题

问题描述

我正在尝试在我的电子邮件中使用嵌入的图像,但是如果我尝试从我的图像文件夹中加载一个文件作为标题,它不会显示在电子邮件中:

该图像是一个内联附件:

def export_bill_email(user)
        @user = user
        attachments.inline["logo.jpg"] = File.read("#{Rails.root}/app/assets/images/bdh_caption_logo.jpg")
        make_bootstrap_mail(
            to: 'xxx',
            from: 'xxx',
            subject: 'xxx'
        )
    end

然后在我看来,我尝试这样称呼它:

<%= image_tag(attachments["logo.jpg"].url, width: '100', height: '100') %>

不显示开发模式的原因吗?我也尝试使用 ngrok 转发,但它仍然只是在我收到的电子邮件中显示损坏的图像标志。奇怪的是:如果我使用图像的直接超链接,它会显示出来,所以它必须对我猜的图像 URL 做一些事情,但我无法弄清楚。

感谢您的任何好建议!

标签: ruby-on-railsattachmentactionmailerruby-on-rails-6

解决方案


好的,我让它在生产中工作,我认为问题是无法从 localhost 下载图像,因为邮件客户端无法公开访问它。如果我在我的网络服务器上运行它,它工作正常。


推荐阅读