HTML-письма, отправленные через rails, поступают как вложение



Следующая проблема: всякий раз, когда я пытаюсь отправить HTML-письмо через rails, оно приходит на мой адрес googlemail как пустое письмо с содержимым в виде вложения.



Я не совсем понимаю, что я здесь делаю не так.

Настройка следующим образом:



/app/mailers/testmail.rb
class Testmail < ActionMailer::Base
default :from => "[email protected]"
default_url_options[:host] = '10.10.8.1'

def email
subject 'Willkommen!'
recipients '[email protected]'
from '[email protected]'
sent_on Time.now
end
end

/app/views/testmail/email.html.erb
<p>Dies ist eine <strong>Testmail!</strong></p>

/app/views/testmail/email.text.erb
Dies ist eine Test-Email!


Вот что приходит в мой аккаунт Googlemail:



входящие



Первое письмо-это то, как оно выглядит с html.erb и текст.erb активен, второй только с текстом.Эрб.
Игнорируйте имя пользователя "root", это из-за постфиксной перезаписи из-за того, что фактический Мейлер находится на другом сервере (письма с сервера rails отправляются на почтовый сервер, который затем фактически отправляет их-не моя настройка;)



А вот исходные данные из первого письма:



Delivered-To: [email protected]
Received: by 10.101.108.3 with SMTP id k3cs279048anm;
Wed, 21 Sep 2011 04:24:29 -0700 (PDT)
Received: by 10.204.134.8 with SMTP id h8mr508445bkt.11.1316604268267;
Wed, 21 Sep 2011 04:24:28 -0700 (PDT)
Return-Path: <inet@our_server>
Received: from our_server (our_server. [100.0.0.0])
by mx.google.com with ESMTP id i7si2877863bke.151.2011.09.21.04.24.27;
Wed, 21 Sep 2011 04:24:28 -0700 (PDT)
Received-SPF: neutral (google.com: 100.0.0.0 is neither permitted nor denied by best guess record for domain of inet@our_server) client-ip=100.0.0.0;
Authentication-Results: mx.google.com; spf=neutral (google.com: 100.0.0.0 is neither permitted nor denied by best guess record for domain of inet@our_server) smtp.mail=inet@our_server
Received: from zero (our_server [100.0.0.1])
by our_server (Postfix) with SMTP id 4251724B65
for <[email protected]>; Wed, 21 Sep 2011 13:24:26 +0200 (CEST)
Received: by zero (sSMTP sendmail emulation); Wed, 21 Sep 2011 13:24:26 +0200
From: "root" <inet@our_server>
Date: Wed, 21 Sep 2011 13:24:25 +0200
To: [email protected]
Message-ID: <[email protected]_router.mail>
Subject: Willkommen!
Mime-Version: 1.0
Content-Type: multipart/alternative
Content-Transfer-Encoding: 7bit

----==_mimepart_4e79c96a1adc0_2ba53f7fe85ced90437f9
Date: Wed, 21 Sep 2011 13:24:26 +0200
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <[email protected]_router.mail>

Dies ist eine Test-Email!

----==_mimepart_4e79c96a1adc0_2ba53f7fe85ced90437f9
Date: Wed, 21 Sep 2011 13:24:26 +0200
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <[email protected]_router.mail>

<p>Dies ist eine <strong>Testmail!</strong></p>


----==_mimepart_4e79c96a1adc0_2ba53f7fe85ced90437f9--
658   2  

2 ответов:

Ничего не знаю о ruby и OR rails, но я немного знаю о MIME. Ваш заголовок верхнего уровня Content-Type должен быть:

Content-Type: multipart/alternative;boundary="--==_mimepart_4e79c96a1adc0_2ba53f7fe85ced90437f9"

Ладно, нашел ответ: вышеприведенная версия сборки электронной почты не включает в себя границы необходимого. Однако

mail(:to => '[email protected]')

Будет работать и устанавливать правильные границы.

Comments

    Ничего не найдено.