Rails Mailer multipart +内联图片:Apple Mail,TB中没有html替代品

时间:2011-08-29 23:37:32

标签: ruby-on-rails-3

使用rails 3.0.10,我们需要发送带有html和纯文本替代的邮件消息,其中html部分引用作为内联附件发送的图像。

代码:

def invite(secure_share)
  @share = secure_share
  attachments.inline['download.png'] = File.read "#{Rails.root}/public/images/download.png"
  mail( :to => secure_share.recipient, 
        :from => 'dummy@example.com',
      )  do |format|
    format.html { render :layout => 'cargo_secureshare_mailer' }
    format.text
  end
end

模板已就位,内联附件有效,我们收到一封邮件如下:

  • 内容类型“multipart / related”
  • 部分“multipart / alternative”
    • 部分“text / html”
    • 部分“text / plain”
  • 部分“image / png”(内联附件)

Apple Mail和Thunderbird似乎都不喜欢这样,它们不会显示HTML版本,只会显示带有两个“普通”附件的文本版本。似乎多部分结构是错误的 - 不应该将“multipart / alternative”作为内容类型,然后将“multipart / related”作为带内联附件的html的包装器?

任何人都提示如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在此处找到:http://www.shortround.net/2011/04/07/multipart-alternative-multipart-related-email-with-actionmailer-for-rails-3/

它几乎可以工作。即它适用于常规附件但不适合倾斜