# Dark Mode Support for HTML Emails

> Adds the color-scheme meta tags to HTML emails, so mail apps like Apple Mail and Outlook render them properly in dark mode instead of inverting your colors badly.

- Type: PHP
- Runs: Run everywhere
- Category: [Email](https://wpide.com/library/category/email/)
- Tags: email, html, dark-mode
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/email-dark-mode-meta/

## Code

```php
add_filter( 'wp_mail', function ( $atts ) {
    $message = (string) $atts['message'];

    if ( false === stripos( $message, '<head' ) || false !== stripos( $message, 'color-scheme' ) ) {
        return $atts;
    }

    $meta = '<meta name="color-scheme" content="light dark"><meta name="supported-color-schemes" content="light dark">';
    $atts['message'] = preg_replace( '/<head([^>]*)>/i', '<head$1>' . $meta, $message, 1 );

    return $atts;
}, 50 );
```

## Notes

Only changes emails that already contain an HTML head; your template should also look fine on dark backgrounds.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Dark Mode Support for HTML Emails" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
