I tried TMail parse and I tried manually changing unicode to 7bit
ascii,
nothing worked. so finally I did it brute force. In my controller

    @order = Order.find(params[:id])
    email = TMail::Mail.new
    email = OrderMailer.create_price(@order)
    # BRUTE FORCE, nothing else worked!
    # contaminated html in my emails!!
    # All '=' became '=3D'
    # NOTE TMail::Mail.parse() did not fix this.
    email_fix = email.encoded.gsub(/[3][D]/,'') # replace '3D' with
empty string in email WORKED
    email = TMail::Mail.parse(email_fix)
    OrderMailer.deliver(email)


On Nov 29, 10:23 pm, "Kent Sibilev" <[EMAIL PROTECTED]> wrote:
> On Sun, Nov 30, 2008 at 12:46 AM, minka <[EMAIL PROTECTED]> wrote:
>
> > I am getting html output in my email body with spurious characters
> > that cannot be rendered, so that my links are not handled properly.
> > What am I not getting here?
>
> > My email body contains:
> > -----------------clip-------------
> > <A href=mailto:&quot;<%=h('[EMAIL PROTECTED]')%>?
> > Support&quot;>Support</A><br/>
>
> > with any issues. Please include your order number...
> > -----------------clip-------------
> > I'm getting '=3d' for all '=' so that the <A href=... becomes <A
> > href=3d... which is garbage.
>
> > I have tried using all possible combinations of h() and mailto
> > function: those don't fix it.
> > That is NOT the problem.
>
> > This is my method in order_mailer:
> >  def price(order)
> >    @subject       = "Order Email
> >    @recipients    = order.email
> >    @from          = '[EMAIL PROTECTED]'
> >    @sent_on       = Time.now
> >    @body["order"] = order
>
> >    part :content_type => "text/plain",
> >         :body => render_message("price_text_html", :order => order)
>
> >    end
>
> > I tried content type text/html first, text/plain also does not work.
>
> > I can't use the utf code for '=', it isn't understood properly.
>
> > By the way, 3d is the hex unicode for '='.
>
> > What's up??
>
> SMTP protocol uses 7bit ASCII characters, so your emails must be
> properly encoded. You can read more about this 
> athttp://en.wikipedia.org/wiki/MIME.
>
> BTW, you can use tmail gem in order to decode your emails. I suspect
> something like this should work:
>
> require 'rubygems'
> require 'tmail'
>
> email = TMail::Mail.parse(email_text)
> puts email.body
>
> --
> Kent
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to