HTML Mail
Lets you theme your outgoing messages the same way you theme the rest of your website.
- NOTE:
- For the most up-to-date documentation, always refer to the README files in the HTML Mail module directory:
- NOTE 2:
- This module is different from the HTML mail submodule of the Messaging Framework. For clarification, that module has been renamed to Messaging HTML mail. See http://drupal.org/node/1100140.
Requirement
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 97% 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 and will not work without it.
-
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--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.
-
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:
-
Template File
A template file is applied to your message header, subject, and body text. The default template is the included
htmlmail--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. -
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.
-
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.
-
Use
HTMLmail integrates into the email system of Drupal and there are no special commands needed to send an HTML formatted email. Simple use the core mail functions such as drupal_mail to send email.
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
- Emogrifier
- HTML Purifier
- htmLawed
- Mail MIME
- Mail System
- Pathologic
- 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
- Theming guide