Email Template Designer – WP HTML Mail


Custom designed WordPress emails for your WooCommerce and EDD transactional emails, contact form notifications, your WordPress core emails, BuddyPress and many more.
Create your own professional email design within a few minutes without any coding.

See how we design our WordPress emails within two and a half minutes

All in one email designer for your contact forms, WooCommerce, Easy Digital Downloads and many more…

🆓 Elementor Forms
🆓 Ninja Forms
🆓 Caldera Forms
🆓 Contact Form 7
🆓 Gravity Forms
🆓 Gravity Flow
🆓 HappyForms
🆓 WP Support Plus Responsive Ticket System
🆓 Birthday Emails
🆓 Ultimate WP Mail
🆓 Divi Theme contact forms
🆓 BuddyPress
🆓 Give – Donation and Fundraising
🆓 TeraWallet
🆓 WP E-Commerce
🆓 Formidable Forms
🆓 WP Foro
🆓 ACF Advanced Forms
🆓 Elementor Forms
🆓 Events Made Easy
🆓 Learndash Notifications
🆓 Matador Jobs
🆓 Memberpress
🆓 Modern Events Calendar
🆓 Uncanny Owl Groups
🆓 ShieldSecurity
WPForms and WPForms Lite
Easy Digital Downloads

  • Responsive & Device independent:
    Our e-mail template has been tested in all major desktop, web and mobile mailclients.
  • Template library:
    Start your email design with one of our templates created by professional designer
  • Text or image header:
    Either style your email header with colors and text, use your logo or design a banner.
  • Customize colors and fonts:
    Different plugins send different emails but you can define global color and font settings for headlines, text, links and more to give all your emails a common professional look.
  • Add your companies legal information to the footer:
    The email footer can contain links to your legal pages, your contact data or whatever you want.
  • Inline CSS:
    Webclients do not override your styles, because we move all style definitions to inline styles.
  • Email test mode:
    Redirect all emails to your own email address for testing or for your staging system.
  • Live Preview:
    See all your changes immediately in the live preview.

★★★★★ pro addon WooCommerce Drag & Drop Email Customizer

trusted by more than 2000 pro users

Use our WooCommerce email customizer addon to customize all your store emails. For all standard emails you can also edit the email content as well as the products table.
Most emails from third party WooCommerce plugins can be styled and for some of them we created special integrations:

  • Barcodes from YITH WooCommerce Bar Codes and QR Codes can be placed anywhere in your Emails
  • You can change emails from WooCommerce Order Status Manager
  • Insert custom checkout fields to your emails with Checkout Field Editor
  • WooCommerce German Market is fully integrated
  • With AutomateWoo you can use your email template for your abandoned cart mails and other automated emails
  • WooCommerce Advanced Shipment Tracking
    You can try the plugin in our WooCommerce Demo.
  • WooCommerce Germanized and Germanized Pro are integrated

get WooCommerce Email Customizer >

Easy Digital Downloads Email Customizer

Our second ecommerce extension is for Easy Digital Downloads. Using this simple add-on you can

  • customize typography for items, variations and links
  • format the products table
  • see a preview of your EDD emails in desktop and mobile view

get Easy Digital Downloads Email Customizer >

more about WP HTML Mail

Works with most email delivery plugins



The plugin is currently available in following languages

> Want to get notified about new features and updates?

Follow us on twitter


  • Our template library
  • Use text or image header
  • set global font settings
  • append you contact details to the mail footer
  • turn template on and off for supported plugins


Extract the zip file and just drop the contents in the wp-content/plugins/ directory of your WordPress installation and then activate the Plugin from Plugins page.


Does it work for emails from plugin XYZ?

Our email designer has integrations for these plugins:

Allthough we didn’t optimize WP HTML Mail for these plugins our users use it with many more plugins

  • ACF Advanced Forms
  • Elementor Forms
  • Events Made Easy
  • Learndash Notifications
  • Matador Jobs
  • Memberpress
  • Modern Events Calendar
  • Uncanny Owl Groups
  • ShieldSecurity

Can I send my newsletter campaigns with this plugin?

No, this is not a newsletter tool, it just makes your emails beautiful but doesn’t send custom ones.

How can I remove the gap at the header of my Contact Form 7 emails?

Go to your Contact Form 7 email settings and change email type from HTML to text. WP HTML Mail will take care of the HTML.

Can a customize the HTML code of the email header?

There’s a filter to change the header HTML code. Just add this to your (child-)themes functions.php:

add_filter('haet_mail_header', function( $header ){
    return 'hello <strong>world</strong>';

Of course you can display HTML code, not just text.

Can a customize the HTML code of the email footer?

There’s a filter to change the footer HTML code. Just add this to your (child-)themes functions.php:

add_filter('haet_mail_footer', function( $header ){
    return 'hello <strong>world</strong>';

Can I add custom CSS code to my WordPress emails?

You can add your own CSS code for desktop and mobile. Just add this example to your (child-)themes functions.php and customize it:

add_filter( 'haet_mail_css_desktop', function( $css ){
    $css .= '  
                border-bottom: 2px solid green;
    return $css;

add_filter( 'haet_mail_css_mobile', function( $css ){
    $css .= '  
    return $css;

How to disable the template for some emails?

Find anything all emails have in common. It may be the sender, a word in the subject or something in the email body.
Then add this function to your (child-)themes functions.php and customize it. Return TRUE if the template should be used and FALSE if not.

// return true if you want to use a template for current mail
// return false if you want to leave the content of this email unchanged
add_filter( 'haet_mail_use_template', 'customize_template_usage', 10, 2 );
function customize_template_usage( $use_template, $mail ){
    // $mail['to'] ...
    // $mail['subject'] ...
    // $mail['message'] ...
    // $mail['headers'] ...
    // $mail['attachments'] ...
    return true;

another example


Novambor 18, 2022
Thank you for this simple yet effective plugin! I had a bit of trouble to understand where to define the header image and was starting to think it was a premium option or so, but then I finally noticed the edit email header component when moving the mouse over the container. Also, the feature to download the template and edit the HTML and CSS directly is great. Well done!
Julai 4, 2022
After trying several plugins, this is definitely the go-to one if you want to apply consistent branding across all your transactional emails coming out of WordPress. Easy to use with really professional looking emails. A huge improvement over the standard WordPress design. Highly recommendable.
Read all 79 reviews

Contributors & Developers

“Email Template Designer – WP HTML Mail” is open source software. The following people have contributed to this plugin.


“Email Template Designer – WP HTML Mail” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “Email Template Designer – WP HTML Mail” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • removed debug output


  • restored compatibility with Outlook


  • Backwards compatibility fix for PHP 7.4 and multilanguage sites
  • Removed conditional comments for old Outlook versions


  • FIXED: header image / logo could not be saved
  • FIXED: Warning with PHP8 & multisite
  • tranformed template library to new React UI


  • added restore tool for lost WooCommerce email templates


  • tagged new version to fix missing files during latest update


  • fixed option validation for WooCommerce addon compatibility


  • improved interface
  • allow HR tags in Mailbuilder


  • improved url escaping


  • allow IMG and STYLE tags in Mailbuilder


  • improved color picker
  • visual style selector for header
  • enabled base64 encoded images in header


  • improved code according to WordPress coding standard
  • improved input and output validation
  • enqueued websfonts script correctly
  • removed “WordPress” from plugin title
  • Custom CSS field validation


  • added permission check to preview function


  • Changed initialization of default options to fix some notices in WooCommerce add-on
  • Improved settings REST API security
  • Improved font formatting toolbars in editor


  • reverted change of inline css library because of several compatibility issues


  • changed inline css library
  • fixed missing links on header
  • removed debug logs
  • fixed CSRF and Self XSS vulnerabilities


  • make URLs clickable in plain text email (eg. reset password)
  • fixed missing line breaks if multiple emails are sent at once


  • Fixed a notice about REST endpoint
  • jQuery fixes for WP 5.6
  • fixed a warning initializing options with Polylang enabled


  • added an option to disable overriding the sender by default (can still be enabled for individual plugins)


  • JS and CSS updates for WP 5.5
  • optimized for Formidable Forms and WP Foro


  • forgot to remove the webfonts tab in previous version which is still under development


  • enabled transient caching for template library
  • changed the way content type is detected to also support filters
  • improved support for ShieldSecurity
  • Header and Footer also translatable with Polylang now


  • brand new react based template editor (for WP 5.4+)
  • template library with 25+ email templates


  • added a link to manage all custom posts created by mailbuilder (tab “advanced”)
  • added export and import functions (tab “advanced”)
  • added uppercase formatting to font settings
  • added a few more web safe fonts
  • removed call to libxml_disable_entity_loader to support Kinsta hosting
  • tagged minimum PHP version 7.2


  • Header and Footer translatable with WPML


  • Fix: WooCommerce tab has overwritten some settings set on the plugins tab
  • Fixed issue with password reset mail when plain text is interpreted as HTML:

  • Fixed bug with headers passed as array instead of string
  • added new option to allow plaintext emails containing HTML code for backwards compatibility


  • TeraWallet Support
  • Improved filtering of plaintext emails

  • custom templates can be moved to uploads folder now

  • fixed a notice with not initialized settings

  • improved polylang compatibility
  • added options to enable/disable header and footer per sender plugin


  • added debug mode
  • optionally remove header and footer in mailbuilder
  • fixed a bug causing content to be overridden in mailbuilder

  • removed a notice during login

  • fixed a missing file during commit


  • Happy Forms support
  • Added email test mode to redirect all messages to your own mailbox

  • Fixed a character encoding bug


  • Improvements for Gravity Forms and Gravity Flow


  • Developers get back the custom template feature
  • new filter for custom header HTML code haet_mail_header
  • new filter for custom footer HTML code haet_mail_footer
  • filter for custom CSS haet_mail_css_desktop and `haet_mail_css_mobile


  • fixed a character encoding bug


  • another fix for gravity forms
  • changed get_tab_url() to use add_query_arg()
  • added reset buttons to delete settings
  • added preheader text to improve preview in some mailclients

  • Bugfix for GravityForms line breaks


  • Added support for Gravity Forms
  • added shortcode support


  • Improved Mailbuilder interface
  • Mailbuilder supports padding and bg color for each element
  • Removed “advanced” tab
  • Added link to website to header
  • Supports some special characters now in sender name and subject


  • Added support for Birthday Emails, thanks to @carman23
  • improved CSS inlining (using a fork of CSS inliner now, but keeping the previous version for compatibility with WP HTML Mail for WooCommerce until 2.7.3)


  • Added support for WP Support Plus Responsive Ticket System
  • WooCommerce Attachments Bugfix
  • Mailbuilder Improvement


  • Improved MailBuilder for WooCommerce
  • Minor Bugfixes


  • Updates for WooCommerce 3
  • Supports attachments for WooCommerce emails now
  • Fixed detection of NinjaForms emails


  • Improved responsive display in Gmail App
  • Improved scaling for Outlook with high DPI setting
  • Fixed a bug adding inline styles to head tag
  • PHP Version check
  • Fixed line breaks in emails sent by Contact Form 7


  • Updated translation management


  • Better alignment for multicolumn content (especially for WooCommerce)


  • Fixed another bug with inline styles causing wrong preview of email footer


  • Updated CSS to Inline Styles library because of a bug with multiple line breaks


  • Updated italian translation
  • Improved some WooCommerce features


  • Fixed a bug causing double line breaks


  • Works with wpMandrill now


  • Plugin can be used by Non-Admins now see here


  • Updated inline css library
  • Improved font toolbar


  • Updated german translation


  • Fixed a bug causing Email sender not beeing set


  • Added Drag&Drop Mailbuilder to customize email content


  • Bugfixes
  • Support for Contact Form 7
  • Italian and German translations


  • Improved formatting of embedded tables and lists


  • Bugfixes
  • added support for WooCommerce
  • added support for Easy Digital Downloads


  • replaced nl2br with wpautop
  • removed a few PHP notices
  • added support for Caldera forms