Skip to main content

Emailizr Bundle

Requirements

  • OpenDXP ^1.0
  • PHP >= 8.3
  • Twig >= 3.14

Release Plan

ReleaseSupported OpenDXP VersionsSupported Symfony VersionsRelease DateMaintainedBranch
1.01.0^7.32025Feature Branch1.x

Installation

"require" : {
"open-dxp/emailizr-bundle" : "~1.0.0",
}

Add Bundle to bundles.php:

return [
OpenDxp\Bundle\EmailizrBundle\OpenDxpEmailizrBundle::class => ['all' => true],
];
  • Create valid email markup with inky and inline styles.
  • Respect editables in opendxp edit mode.

Usage

Just extend the emailizr layout:

{% extends '@OpenDxpEmailizr/layout.html.twig' %}

This will include a markup like this. You may want to change it:

{% apply spaceless %}
{{ emailizr_style_collector.add('@OpenDxpEmailizrBundle/public/css/foundation-for-emails/foundation.min.css') }}
{% emailizr_inline_style %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width"/>
{% block headStyles %}
<style type="text/css">
{% autoescape false %}
{{ emailizr_inline_style(emailizr_style_collector) }}
{% endautoescape %}
</style>
{% endblock %}
</head>
{% apply inky_to_html %}
<body>
{% block body %}
<table class="body">
<tr>
<td class="center" align="center" valign="top">
<center>
{% block content %}
{% endblock %}
</center>
</td>
</tr>
</table>
<!-- prevent Gmail on iOS font size manipulation -->
<div style="display:none; white-space:nowrap; font:15px courier; line-height:0;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
{% endblock %}
</body>
{% endapply %}
</html>
{% end_emailizr_inline_style %}
{% endapply %}

Service

If you need to parse values in a custom context, you may use the ContentService.

<?php

use OpenDxp\Bundle\EmailizrBundle\Service\ContentService;

class YourClass
{
public function __construct(protected ContentService $contentService)
{
}

public function parse($content)
{
$cssFile = OPENDXP_WEB_ROOT . '/static/css/email.css';

return $this->contentService->checkContent($content, $cssFile, FALSE, TRUE, TRUE);
}
}

Further Information

Upgrade Info

Before updating, please check our upgrade notes!

License

DACHCOM.DIGITAL AG, Löwenhofstrasse 15, 9424 Rheineck, Schweiz
dachcom.com, [email protected]
Copyright © 2025 DACHCOM.DIGITAL. All rights reserved.

For licensing details please visit LICENSE.md