Search code examples
htmlrubyemailgmailpony

How to format email for gmail?


I wrapped the email's body in <html><body><pre>. Show original in gmail gives me actually how I want the email to be formatted:

Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit


Ant run name    : Basics of Edumate
Overall result  : pass

Ant run took: 4 minutes 15 seconds

--------------------------
Details for all test suits
--------------------------

login           : Pass
AddCycleTemplate: Pass
AddCycleTemplate: Pass
AddAcademicYear : Pass
AddAcademicYear : Pass

But the actual email is displayed as one line. Note that space that I use to align : is somehow omitted as well as new lines.

Ant run name : Basics of Edumate Overall result : pass Ant run took: 4 minutes 15 seconds -------------------------- Details for all test suits -------------------------- login : Pass AddCycleTemplate: Pass AddCycleTemplate: Pass AddAcademicYear : Pass AddAcademicYear : Pass 

I send the email from ruby using pony.

Any suggestions how to get the formatting inside gmail as desired?


Solution

  • This the was I send html email to gmail. I guess what I was missing was :html_body => body, part of pony's settings.

    def email_it(body, subject,to,from)
      $smtp = 'mail.com.au'
      $smtp_port = 25
         Pony.mail(
            :to => to, 
            :from => from,
            :subject => subject, 
            :body => Nokogiri::HTML(body).text, 
                        :html_body =>  body,
            :via => :smtp, 
            :via_options => {
                    :address     => $smtp,
                    :port     => $smtp_port,
                    :enable_starttls_auto => false
            }
        )
    end