Currently in OutSystems Reactive, there is no native, straightforward way to render dynamic HTML content inside an Email Template.
Expressions Escape Everything: The standard Expression widget in the Email editor automatically escapes all HTML tags, converting them to plain text.
Missing Property: Unlike standard Reactive Web screens, the "Escape Content = No" property is missing from Expressions in the Email editor.
No JavaScript Support: Emails are rendered server-side, so common web workarounds like using a JavaScript OnReady action to set innerHTML do not work in an email context.
Container Limitations: Using a Container with an innerHTML attribute often results in empty content because the platform's internal email engine (similar to an internal GetEmailHtml method) frequently strips these attributes during generation for security reasons.
OutSystems should implement one of the following to improve the developer experience:
Enable "Escape Content = No": Add the same property found in standard web expressions to the Email Expression widget, allowing developers to pass sanitized HTML directly.
Native HTML Widget for Emails: Enable the "HTML Element" widget within the Email UI Flow toolbox so developers can explicitly define HTML tags and inject attributes safely.
Sanitized HTML Input: Provide a dedicated widget or property that specifically accepts the output of the SanitizeHtml action and renders it as formatted HTML in the final email body.
Thanks,
Ananth