5

I'm trying to send HTML emails from a module and I'm using drupal_mail().

It's not possible to send HTML email with just drupal_mail() (see here), and I've installed Mimemail. However, the email is still being stripped of all HTML tags.

Do I need to make any extra calls in the email template, or is there something else I've forgotten?

Set-Up

Mail System

  • format() -- mimemail system
  • mail() -- SMTP module

Mimemail

  • Email Format: Filtered HTML (My filtered HTML allows <p> and <br> tags.
  • Include all site stylesheets.

SMTP module

  • Allow HTML formatted emails

drupal_mail

tellafriend_mail($key, &$message, $params) {

  $message['headers']['MIME-Version'] = '1.0';
  $message['headers']['Content-Type'] = 'multipart/mixed;';
  $message['headers']['Content-Type'] = 'text/html;';
  $message['subject'] = t('This is a test email');

  $message['body'][] = t("This is a test email")."<p></p><p>".t("This should be a new paragraph.")."</p><p></p><p>".t("And a third paragraph.")."</p>";
  $message['params']['attachments'] = $params; 
  }   
1
  • 1
    this can be an off-topic comment, but you can use SwiftMailer Library (from Fabien Potencier) for extended mailing purposes..
    – xurshid29
    Dec 17, 2013 at 13:07

1 Answer 1

3

As it turns out HTML email was infact enabled. The problem was the stylesheets that the email was being bundled with.

If you head to admin/config/system/mimemail you can choose to either bundle the email with your website stylesheets, or set-up a mail.css in your default theme directory.

I suspect if you're using a sub-theme and haven't got mail.css it'll just use the original theme mail.css which is probably not what you want.

1
  • "if you're using a sub-theme and haven't got mail.css it'll just use the original theme mail.css" This does not appear to be the case at present. Unless we've got our subthemes set up wrong, that is.
    – KingAndy
    Oct 4, 2017 at 11:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.