Использование рельсов 2.3.14Как отправить html-письмо с помощью ActionMailer?
мой электронный Еврорадио: data.html.erb:
<% @data.each do |error| %>
<table>
<% error.each_pair do |k, v| %>
<tr>
<td>
<%= k %>
</td>
<td>
<%= ap v %>
</td>
</tr>
<% end %>
</table>
<br />
<% end %>
я могу получить электронную почту, но когда я делаю, это отображается в виде обычного текста - вместо рендеринга HTML.
Action Mailer конфигурации:
config.action_mailer.raise_delivery_errors = true
# Send emails during development
config.action_mailer.perform_deliveries = true
ActionMailer::Base.delivery_method = :sendmail
UPDATE: пришлось указать тип содержимого в моем методе доставки:
def data(data, sent_at = Time.now)
Time.zone = 'Eastern Time (US & Canada)'
content_type 'text/html'
subject "[#{RAILS_ENV}] An error has occurred - #{Time.now.to_s("%B %d, %Y")}"
recipients "[email protected]"
from AppConfig['from_email']
sent_on sent_at
@body = {:data => data}
end
Если вы просматриваете источник письма в своем почтовом ящике, что отображается в заголовке Content-Type? – d11wtq
текст/равнина; кодировка = UTF-8. Как сделать его html? – NullVoxPopuli
Он должен «просто работать». Вы 100% у вас нет шаблона data.text.erb в каталоге? Вы вызываете какие-либо методы визуализации вручную внутри почтовой программы? – d11wtq