我想用我的 Rails Mailer 发送 html 电子邮件。可能是multipart/alternative
或只是text/html
。问题是,当我发送带有链接的电子邮件时,它在 Gmail 上显示得很好,但在 Thunderbird 中却不是很好。
问题是,在 Thunderbird 中,链接是“不可点击的”——它像链接一样突出显示,但点击它什么也没做。
其他邮件上的链接(不是从 Rails Mailer 发送的)可以完美运行。
所以我的问题是:如何正确发送 html 电子邮件,以便正确查看?
邮寄代码:
class MyMailer < ActionMailer::Base
def mailing_delivery(email, subject)
mail(:to => email, :subject => subject)
end
邮件视图:
# mailing_delivery.html.haml
%p
Thanks! Its your mailer!
%p
= link_to "Google", "google.com"
电子邮件来源 (部分截取):
Date: Thu, 18 Aug 2011 14:32:34 +0200
From: xxx
To: xxx
Message-ID: <4e4d0662bf96e_41024be957a57974@xxx.mail>
Subject: Super news!
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
X-O2-Trust: 2, 64
X-O2-SPF: neutral
<p>
Thanks! It's your mailer!
</p>
<p>
<a href="google.com">Google</a>
</p>
当然是 Rails 3。Thunderbird 5.0,但这不是问题 - 因为不知何故其他邮件显示良好..而且我不认为它是特定于应用程序的。
我该怎么做才能完成这项工作?
编辑:我尝试更改“内容传输编码”标头但没有成功,通过做mail(:to => email, :subject => subject, "Content-Transfer-Encoding" => value)
或在课堂default "Content-Transfer-Encoding" => value
上没有运气..如何改变它?
在 Thunderbird 下运行良好的电子邮件已经Content-Transfer-Encoding: quoted-printable
(或最终base64
),所以也许这就是问题所在?我该如何改变它?
编辑2:我设法将其更改为Content-Transfer-Encoding
,quoted-printable
但它正在削减内容,如下所示:
Date: Thu, 18 Aug 2011 22:04:21 +0200
From: xxx
To: xxx
Message-ID: <4e4d704557839_151c4e4957c2132e@xxx.mail>
Subject: Super news!
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-O2-Trust: 2, 63
X-O2-SPF: neutral
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww=
w.w3.org/TR/html4/loose.dtd">
<html>
<body>
<p>
Thanks! It's your mailer!
</p>
<p>
<a href=
另一件事:为什么有换行符Content-Type
?我没有在其他(工作良好)邮件中看到它。我怎样才能摆脱它?