我最近加入了一个项目,每个客户都有自己的自定义 HTML 内容,用于发送给客户的电子邮件。
它通过将内容插入到带有自定义标签的字符串中,然后通过在邮件程序中设置 body 属性来发送,如下所示:
mail(:from => from_email,
:reply_to => from_email,
:to => to_email,
:subject => subject,
:body => (html_text.empty?) ? plain_text : html_text,
:content_type => (html_text.empty?) ? 'text/plain' : 'text/html',
)
要添加的一项功能是包含内联图像;但是 - 通过手动将 content_type 设置为“text/plain”或“text/html”,电子邮件无法正确呈现,并且图像也无法正确附加(整个电子邮件的 content_type 似乎搞砸了): .
删除此显式 content_type 后,图像已正确附加,但内联图像未显示(使用附加图像将占位符替换为 image_tag),因为内容似乎没有被解释为 HTML,例如电子邮件的内容是:
Dolor eligendi doloremque et.
<img alt="Signature Image" src="cid:5225b25b53818_b4213fc5ce0349d0975f@localhost.mail" />
如何让电子邮件正确地将内容解释为 HTML,而不会弄乱内联图像内容类型?