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 at
http://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