Rails почтовик и ссылки не работают под Thunderbird - PullRequest
1 голос
/ 18 августа 2011

Я хочу отправлять html письма через мой Rails Mailer.Может быть 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, но это не проблема -потому что почему-то другие письма выглядят хорошо .. И я не думаю, что это приложение для конкретного приложения.

Что мне делать, чтобы эта работа работала?

Редактировать: Iпопытался изменить заголовок 'content-Transfer-Encoding' безуспешно, выполнив mail(:to => email, :subject => subject, "Content-Transfer-Encoding" => value) или в классе default "Content-Transfer-Encoding" => value безуспешно .. как это изменить?

Emails tу 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 есть перевод строки?Я не видел этого в других (хорошо работающих) письмах.Как мне от этого избавиться?

1 Ответ

2 голосов
/ 18 августа 2011

Может быть, это сработает, если вы исправите свой 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...