我的ActionMailer在每一行的末尾添加一个回车符:
<!DOCTYPE html>=0D
<html>=0D
<head>=0D
...
this is stuff=0D
=0D
This intro has some content in it.=0D
=0D
blah.=0D
=0D
我的邮件在preview host/rails/mailers/user_mailer/periodic_digest.html
(以及mailcatcher)中也呈现完美的状态,但是当我通过Mailgun发送邮件时,我的文本之间出现了双行间距
在app/mailers/user_mailer.rb:periodic_digest
m = mail(from: 'blah', to: 'me')
puts m.html_part.body.decoded
我确实得到了格式正确的html。
如何在不将回车符=0D
附加到每一行的情况下发送html?
答案 0 :(得分:4)
Rails的isn't an error部分。 Mailgun仅handles it in an undesirable manner。
回车符用于强制将行换成带引号的可打印编码文本。如果您要发送多部分电子邮件或纯文本电子邮件,则RFC 5322(以及之前的2822和822)指定必须将行换行的字符数最多为998个。出于实际目的,大多数电子邮件客户端都将近70个字符换行。
为了插入可见的换行符,您需要使用回车符和换行符,您可能已经习惯将其表示为\r\n
。这与代码或文本文件中典型的unix样式的行尾(只是换行符)形成对比。
答案 1 :(得分:0)
通过删除电子邮件文本中的特殊字符(如“ñ”和重音符号),我能够避免每行末尾出现“ = 0D”。
答案 2 :(得分:0)
<%= (@mails.html_part.body.decoded.to_s.split).join(" ").html_safe %>