1

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-Encodingquoted-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ですか?他の (正常に動作している) メールには表示されませんでした。どうすればそれを取り除くことができますか?

4

1 に答える 1

2

htmlを修正すればうまくいくかもしれません。だから、ただ持つ代わりに:

<p>
  Thanks! It's your mailer!
</p>
<p>
  <a href="google.com">Google</a>
</p>

試す:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <body>
    <p>
      Thanks! It's your mailer!
    </p>
    <p>
      <a href="http://google.com">Google</a>
    </p>
  </body>
</html>
于 2011-08-18T13:14:35.553 に答える