Frage

While using Rails ActionMailer with Multipart Emails I created both:

approve_trade_email.html.erb

AND

approve_trade_email.text.erb

I do receive a well HTML formatted email in my Mail client (Mac OSX) but when checking my Gmail account for the same email I got an empty body with a noname attachement with the multiparts inside?

Help?

Why do I get this in Gmail?

thx

Joel

HERE THE NONAME ATTACHEMENT IN GMAIL:

----==_mimepart_4eab3a61bb3a8_10583ff27b4e363c43018
Date: Sat, 29 Oct 2011 01:27:29 +0200
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <4eab3a61bc857_10583ff27b4e363c43191@joel-maranhaos-macbook-pro.local.mail>


Do not to forget to make a donation on our Site: /home/index?path_only=false


----==_mimepart_4eab3a61bb3a8_10583ff27b4e363c43018
Date: Sat, 29 Oct 2011 01:27:29 +0200
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <4eab3a61bd5fa_10583ff27b4e363c432cb@joel-maranhaos-macbook-pro.local.mail>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>  
<link href="/assets/powerplants.css" media="screen" rel="stylesheet" type="text/css" />

</head>
<body id="email">      

<p><b>Do not to forget to make a donation on our <a href="/home/index?path_only=false">Site</a>.</b></p>

</body>
</html>
----==_mimepart_4eab3a61bb3a8_10583ff27b4e363c43018--
War es hilfreich?

Lösung

I got the same problem and found the solution:

It's a bug in the old ActionMailer API of Rails 3, which does not include the multipart boundary definition in mail header.

see: https://github.com/rails/rails/pull/3090

You just have to use the new API (using the mail method)

class UserMailer < ActionMailer::Base
  default :from => "notifications@example.com"

  def welcome_email(user)
    @user = user
    @url  = "http://example.com/login"
    mail(:to => user.email, :subject => "Welcome to My Awesome Site")
  end
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top