## HTML Mail

Lets you theme your messages the same way you theme the rest of your website.

### Requirement

- Mail System 7.x-2.x

### Installation

The following additional modules, while not required, are highly recommended:

- Echo
    Wraps your messages in a drupal theme. Now you can "brand" your messages with the same logo, header, fonts, and styles as your website.
- Emogrifier
    Converts stylesheets to inline style rules, for consistent display on mobile devices and webmail.
- Mail MIME
    Provides a text/plain alternative to text/html emails, and automatically converts image references to inline image attachments.
- Pathologic
    Converts urls from relative to absolute, so clickable links in your email messages work as intended.
- Transliteration

    Converts non-ASCII characters to their US-ASCII equivalents, such as from Microsoft "smart-quotes" to regular quotes.

    Also available as a patch.

### Updating from previous versions

The 7.x-2.x branch shares 94% of its code with the 6.x-2.x branch, but only 15% of its code with the 7.x-1.x branch, and a tiny 8% of its code with the 6.x-1.x branch.

Let your compatibility expectations be adjusted accordingly.

- Check the module dependencies, as they have changed. The latest version of HTML Mail depends on the Mail System module (7.x-2.2 or later) and will not work without it.

- Run `update.php` immediately after uploading new code.

- The user-interface for adding email header and footer text has been removed. Headers and footers may be added by template files and/or by enabling the Echo module.

- Any customized filters should be carefully tested, as some of the template variables have changed. Full documentation is provided both on the module configuration page (Click on the Instructions link) and as comments within the `htmlmail.tpl.php` file itself.

- The following options have been removed from the module settings page. In their place, any combination of over 200 filter modules may be used to create an email-specific text format for post-template filtering.

  - Line break converter
  - URL Filter
  - Relative Path to Absolute URLs
  - Emogrifier
  - Token support

- Full MIME handling, including automatic generation of a plaintext alternative part and conversion of image references to inline image attachments, is available simply by enabling the Mail MIME module.

### Configuration

Visit the Mail System settings page at admin/config/system/mailsystem to select which parts of Drupal will use HTML Mail instead of the default mail system.

Visit the HTML Mail settings page at admin/config/system/htmlmail to select a theme and post-filter for your messages.

### Theming

The email message text goes through three transformations before sending:

1. ### Template File

   A template file is applied to your message header, subject, and body text. The default template is the included `htmlmail.tpl.php` file. You may copy this file to your email theme directory (selected below), and use it to customize the contents and formatting of your messages. The comments within that file contain complete documentation on its usage.

2. ### Theming

   You may choose a theme that will hold your templates from Step 1 above. If the Echo module is installed, this theme will also be used to wrap your templated text in a webpage. You use any one of over 800 themes to style your messages, or create your own for even more power and flexibility.

3. ### Post-filtering

   You may choose a text format to be used for filtering email messages after theming. This allows you to use any combination of over 200 filter modules to make final changes to your message before sending.

   Here is a recommended configuration:

   - Emogrifier Converts stylesheets to inline style rules for consistent display on mobile devices and webmail.

   - Transliteration Converts non-ASCII text to US-ASCII equivalents. This helps prevent Microsoft "smart-quotes" from appearing as question-marks in Mozilla Thunderbird.

   - Pathologic Converts relative URLS to absolute URLS so that clickable links in your message will work as intended.

### Troubleshooting

- Double-check the Mail System module settings and and make sure you selected `HTMLMailSystem` for your Site-wide default mail system.

- Try selecting the `[ ]` (Optional) Debug checkbox at the HTML Mail module settings page and re-sending your message.

- Clear your cache after changing any `.tpl.php` files.

- If you use a post-filter, make sure your filter settings page looks like this.

- Visit the issue queue for support and feature requests.

### Related Modules

Echo

  http://drupal.org/project/echo

Emogrifier

  http://drupal.org/project/emogrifier

HTML Purifier

  http://drupal.org/project/htmlpurifier

htmLawed

  http://drupal.org/project/htmlawed

Mail MIME

  http://drupal.org/project/mailmime

Mail System

  http://drupal.org/project/mailsystem

Pathologic

  http://drupal.org/project/pathologic

Transliteration

  http://drupal.org/project/transliteration

### Documentation

filter.module
  api.drupal.org/api/drupal/modules--filter--filter.module

  api.drupal.org/api/drupal/modules--filter--filter.module/group/standard_filters/7

Installing contributed modules

  drupal.org/documentation/install/modules-themes/modules-7

Theming guide

  drupal.org/documentation/theme

### Original Author

- Chris Herberte

### Current Maintainer

- Bob Vincent