我已经开始从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;消息“
答案 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