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ですが、それは問題ではありません.なぜか他のメールがうまく表示されるからです..そして、それはアプリ固有ではないと思います.
これを機能させるにはどうすればよいですか?
編集: 'content-transfer-encoding' ヘッダーを変更しようとしましたが、うまくmail(:to => email, :subject => subject, "Content-Transfer-Encoding" => value)
いきdefault "Content-Transfer-Encoding" => value
ませんでした。
Thunderbird で正常に動作するメールにはContent-Transfer-Encoding: quoted-printable
(または最終的にはbase64
) があるので、それが問題なのでしょうか? どうすれば変更できますか?
編集 2: to を変更することはできまし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=
もう1つ、なぜに改行があるのContent-Type
ですか?他の (正常に動作している) メールには表示されませんでした。どうすればそれを取り除くことができますか?