发送多部分邮件和附件

kri*_*ssi 5 ruby email multipart email-attachments

我正在尝试使用带有 Ruby 1.9.3 的 gem 'mail' 发送电子邮件。它包含一个 text/html 和一个 text/plain 部分,它们应该作为替代部分和附件嵌入。

这是我当前的代码:

require 'mail'

mail = Mail.new
mail.delivery_method :sendmail
mail.sender = "me@example.com"
mail.to = "someguy@example.com"
mail.subject = "Multipart Test"
mail.content_type = "multipart/mixed"

html_part = Mail::Part.new do
  content_type 'text/html; charset=UTF-8'
  body "<h1>HTML</h1>"
end

text_part = Mail::Part.new do
  body "TEXT"
end

mail.part :content_type => "multipart/alternative" do |p|
  p.html_part = html_part
  p.text_part = text_part
end

mail.add_file :filename => "file.txt", :content => "FILE"

mail.deliver!
Run Code Online (Sandbox Code Playgroud)

它会生成一封带有工作替代部分但没有附件的邮件。我正在使用 Thunderbird 10.0.12 进行测试。

我已经在 github 上发布了这个,但不幸的是这些帖子并没有让我变得更聪明。https://github.com/mikel/mail/issues/118#issuecomment-12276876。也许有人能够比我更理解最后一篇文章;)

有人能够让这个例子工作吗?

谢谢,克里斯

kri*_*ssi 0

这似乎是关于附件内容类型的错误。请参阅https://github.com/mikel/mail/issues/522