Next time, try reading the documentation first. From the
ActionMailer::Base docs:
To send mail as HTML, make sure your view (the .erb file) generates
HTML and set the content type to html.
class MyMailer < ActionMailer::Base
def signup_notification(recipient)
recipients recipient.email_address_with_name
subject "New account information"
from "system@example.com"
body :account => recipient
content_type "text/html"
end
end
Can anyone please advise on how to send emails in HTML format instead
of plain text?
Just don't. HTML belongs on Web pages, not in e-mail.
(If you really need to, I believe you will have to set a content header
on the e-mail so that the HTML is parsed. But there are few good
reasons to send HTML mail in the first place.)
If you want to send a HTML email have a look at the Rails
documentation it is very well documented. Here is a snip:
Mailer views are located in the app/views/name_of_mailer_class
directory. The specific mailer view is known to the class because it’s
name is the same as the mailer method. So for example, in our example
from above, our mailer view for the welcome_email method will be in
app/views/user_mailer/welcome_email.text.html.erb for the HTML version
and welcome_email.text.plain.erb for the plain text version.
The action mailer basics should have all you need...
But the short version is in the naming of the views text.html.erb and
text.plain.erb and then you have the content_type that can be set too
"text/html", Rails send multipart emails if you have a text and html
view.