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-адресом изображения, я думаю, но я не могу понять это.

Спасибо за любой хороший совет!


person Max Kirsch    schedule 22.12.2019    source источник
comment
Вы пытались установить mime_type: "image/png" на этом изображении? возможно, есть проблема с типом mime guides.rubyonrails.org/   -  person nuaky    schedule 23.12.2019
comment
Я попробовал это, но Rails все равно угадает правильный тип пантомимы с Rails 5, я думаю. Я мог бы использовать метод host host в моем файле окружения, но таким образом мне приходилось постоянно размещать изображения, чтобы они правильно отображались в почте.   -  person Max Kirsch    schedule 23.12.2019


Ответы (1)


Хорошо, у меня это работает в производстве, я думаю, проблема в том, что изображение не может быть загружено с локального хоста, потому что оно недоступно для почтового клиента. Если я запускаю его на своем веб-сервере, он работает нормально.

person Max Kirsch    schedule 23.12.2019