无法从rails 4.0.8发送html邮件

时间:2015-02-05 12:13:13

标签: ruby-on-rails ruby email ruby-on-rails-4 html-email

我已经开始从rails 4.0.8发送邮件,但是我无法发送html邮件,我为我的邮件程序创建了html视图,但仍然以text / plain.My mailer方法执行,如下所示(customer_mailer.rb)

  def X customer, message, cust_mail, email_subject
    subject = email_subject
    mail_ids=cust_mail.to_s.split(",")
    mail :subject => subject || "Your Invoice", :to => mail_ids, :body => message

  end

我的html视图(X.html.erb)

<html>
<body bgcolor="#D6A1A1">

<table width="100%" bgcolor="#D6A1A1" cellpadding="10" cellspacing="0">

</table>

</body>
</html>

我能够显示静态html页面以及如何从方法X将消息传递给x.html.erb。当我删除以下行时,它开始工作':body =&gt;消息“

1 个答案:

答案 0 :(得分:0)

变化

mail :subject => subject || "Your Invoice", :to => mail_ids, :body => message

mail :subject => subject || "Your Invoice", :to => mail_ids, :body => message.html_part

这些方法只是猜测并找到text / plain或text / html内容类型的多部分消息中的第一部分。 CloudMailin也通过params [:plain]和params [:html]提供这些便利方法。值得记住的是,该消息永远不会保证具有普通或HTML部分。可能值得使用以下内容来确定:

plain_part = message.multipart? ? (message.text_part ? message.text_part.body.decoded : nil) : message.body.decoded
html_part = message.html_part ? message.html_part.body.decoded : nil