如何设置发送带有邮件gem的HTML邮件?

far*_*edo 5 html ruby email mime-types

我正在使用Mail gem发送电子邮件.这是我的代码:

require 'mail'
require 'net/smtp'

Mail.defaults do

delivery_method :smtp, { :address              => "smtp.arrakis.es",
                       :port                 => 587,
                       :domain               => 'webmail.arrakis.com',
                       :user_name            => 'myname@domain.com',
                       :password             => 'pass',
                       :authentication       => 'plain',
                       :enable_starttls_auto => true  }

end

Mail::ContentTypeField.new("text/html") #this doesnt work

msgstr= File.read('text2.txt')

list.each do |entity|
    begin
        Mail.deliver do
            from    'myname@domain.com'
            to      "#{entity}"
            subject 'a good subject'
            body   msgstr
        end
    rescue => e
    end

end
end
Run Code Online (Sandbox Code Playgroud)

我不知道如何设置内容类型,以便我可以将我的电子邮件格式化为html.虽然我实际上只是希望能够像我的电子邮件客户端那样定义粗体文本:粗体文本.有没有人知道我需要指定哪种内容类型才能实现这一目标,以及如何使用邮件实现它?

只需注意,上面的代码适用于发送纯文本电子邮件.

Sim*_*tti 13

文档中

编写和发送多部分/替代(html和文本)电子邮件

邮件做了一些基本的假设,并尽可能简单地做了常见的事情....(从邮件库中询问很多)

mail = Mail.deliver do
  to      'nicolas@test.lindsaar.net.au'
  from    'Mikel Lindsaar <mikel@test.lindsaar.net.au>'
  subject 'First multipart email sent with Mail'

  text_part do
    body 'This is plain text'
  end

  html_part do
    content_type 'text/html; charset=UTF-8'
    body '<h1>This is HTML</h1>'
  end
end
Run Code Online (Sandbox Code Playgroud)