Enable using HTML content in email body in Reactive app
6777
Views
35
Comments
New
Frontend (App Interfaces)

I would like to be able to use HTML content in the email body in Reactive apps.
Html content is needed to sent emails with a nice layout from Reactive apps.

Expressions in Traditional Applications have the "Escape Content" attribute. When you set it to "No" a mail sent by a Traditional Application is delivered as a HTML Document. This is not possible in Reactive applications.
The HTML Element can also not be used in an email in Reactive app.

The only current solution would be, to create a Traditional Application just for sending the email and provide a public EmailSend-Method. But that is a lot of overhead just to send a mail.

Email with Html content.JPG

I believe you can compose your reactive email like a screen using elements like container, text, expression, table, list link and image. OutSystems will then generate the corresponding HTML and CSS.

See below screenshot from Service Studio, I just created a new email from the Password Reset Email template, and it is all nicely formatted:

For more info see: 

https://success.outsystems.com/Documentation/11_x_platform/Developing_an_Application/Implement_Application_Logic/Technical_Preview_-_Emails_in_Mobile_and_Reactive_Web_Apps/Managing_emails


Thanks Daniël
I am aware of this way to compose the email layout.
However in this case in the application the user can compose the email body himself. CKEditor Reactive is being used and the email body content is saved in a table as html content. My challenge is now using this html content in an email body.

Regards, Ellen

Changed the category to
Frontend (App Interfaces)

The ability to insert my own HTML into an email rather than using a designer is critical, especially if you are working with a marketing department or allowing the user to create their own, never ending, forever changing templates for the email using CKEditor.

Responsive emails is an art form in itself since they have to comply with IE 6 standards and can't use modern HTML/CSS.

Ideally if the HTML component could be available in the designer, this would be a quick win.

2024-09-18 10-08-06
Sara Skov
Champion

This is a critical thing in a project i'm working on, because most of the users who are getting the emails use Outlook. And in the Outlook desktop app you can't show styling on "div" tags, and when you only have the Container Widget in Outsystems it's really a problem. The emails are looking completely different regarding what email host the user is opening it in and some will always be very ugly.

It would be so much easier to make good looking emails if we was able to use the right html tags!

@Daniel Kuhlmann
We can certainly compose email in Reactive like your exmaple.
But considering a scenario where we use Email template designed using CKEditor (Containing HTML tags saved in DB ) now conversion (HTML containing styled text and link ) of this to formatted text  is not quite possible or we don't have standard solution for that. 
As in Reactive Expression can not be setted-up Escape content to NO.
Moreover Email Template requirement is quite mandatory in enterprise level applications.

With Regards,
Pratap Singh

This should be really simple for Outsystems to fix, we just need the HTML Element widget that is available on regular screens to be available in Email templates. Then I would be able to insert a <table> <tr> <td> and make emails look significantly better in Outlook than I can today.

Any ideas to resolve the issue?

We need this for ODC as well!

2025-08-07 06-30-56
Amit J
Champion

Hi All,

I think this can be helpful to solve the above issue https://www.outsystems.com/forums/discussion/86879/remove-html-tags-in-email-body-of-reactive-aaplication/


Thanks,

Amit

Any ideas to resolve the issue? 

@Amit Jain this solution is not working for reactive app.

The default email template for Reactive looks great inside Service Studio, but terrible when displayed by Outlook (thanks to Microsoft Office's arcane rendering engine).

OutSystems either needs to provide email HTML that is cross-client compatible (which is pretty much the opposite of standards compliant...), or provide a mechanism for us to insert our own janky raw HTML to keep Outlook happy.

so anyone figure out how to manually create your own html (e.g. tables, etc) in email template, instead of using containers, etc? 


The only workaround that I know of is mentioned in the OP: "The only current solution would be, to create a Traditional Application just for sending the email and provide a public EmailSend-Method. But that is a lot of overhead just to send a mail. "

This is absolutely absurd that this is still an issue nearly 5 years after reactive apps were released.


It's not a complex feature we are requesting, its just wanting the ability to use the already built in html element inside email screens for reactive apps.


I understand that OutSystems does not allow this element because they cannot guarantee that the passed in html will be supported by the email clients rendering the email. That is for the developers to control and manage. I am pretty sure that the main reason however is to try and force more AO usage, since it prevents re-using the same email object for multiple different emails (you can still do exactly this with a traditional app).


The fact that I have to utilize a traditional app for sending emails for my reactive apps because OutSystems refuses to just allow an already built in widget from being used in email screens is, simply put, stupid and greedy. Just another of the many reasons my company is migrating off OutSystems.

Totally agree. I can construct a web page that looks totally hopeless, but that's my problem. Should be the same with emails. I generally like Reactive apps, but they're really let down by the poor email support, and I refuse to believe this is hard to fix.

A real solution to this is needed. SMTP relay via Outlook is a standard mechanism to generate emails. Generally templates are needed that can have certain variables entered and that will render in Outlook. My company has said no more traditional apps... but I am about to spin one up just to pass emails through. It's silly. Outlook is standard in business.

@OutSystems Any solutions here? Looks like none of the "Ideas" related to this have been picked up for work?

It feels like OutSystems releases new products without properly identifying needs and without firmly testing. A whole bunch of people still using OutLook (classic) and table solved formating in Traditional. @OutSystems, how long does it take before we have the ability to use <table><tr><td> in OutSystems reactive emails too? This will OutSystems developers very reluctant to move to reactive and ODC. 

I have a working example in Reactive using the table. Make sure you delete all css from the EmailTheme otherwise it will not work.

I would like to post the oap example inside here but that seems not to be possible :-(

Please checkout this example

@Ronnie Verheij had would been easier to update the Forge component if you also provide the URL to it.

I am facing a similar issue too, whilst attempting to build HTML content within emails sent out from my reactive-web app. Using Outlook as client, as my app targets users that use Outlook by default.

Things I have tried:

  • Have a EmailTheme for EMail UI flow, as well as specific css-style declarations for individual email templates.
  • Transferred all stylings into EmailTheme, such that there are no css-style declarations inside individual email templates.
  • Transferred all stylings into individual email templates, such that EmailTheme is completely empty.
  • Direct styling of containers in my email template, i.e. not using the css classes at all.

All the above trials were not fruitful. I really hope to find a solution to this matter, otherwise plain-text emails would not be a good alternative at all.

@Daniël Kuhlmann, Yes. this is true. However it's onpremis and all behind a firewall. Can I somehow send it to you?


It takes long for OutSystems to put the example in the forge. Please text me via OutSystems and give me any way I can send the working OAP to you.

Not sure, however maybe you are able to open the dropbox link below 

https://www.dropbox.com/scl/fi/ttgwn5whvgl0pgkj4ieek/zzzShinkansenMailExample.oap?rlkey=5jrr6ascclhi7dy1zv5kpiob3&st=fu8ljblb&dl=0 

This asset is now live in Forge and can be downloaded.

 https://www.outsystems.com/forge/component-overview/19778/reactive-email-example-o11

I also managed to create other stuff in it as an image. In combination with the Html2Image element. However this is just a workaround. I am not able to put this in the forge. The forge doesn't allow OAPs larger than 256Kbyte. I think outsystems should allow blocks to be used. In blocks we could then put all we like. There would be 3 things that would help us

* Enable HTML intection in OutSystems Reactive MAIL

* Enable the use of WebBlocks in OutSystems Reacive MAIL

* Enable to use Javascript in OutSystems Reactive MAIL (we could alter the DOM)

@Huarlem Lima what was the reason for OutSystems to limit it? If it is possible in reactive web then it should be possible in reactive mails too! 

These limitations and other limitations in React and ODC will prevent developers to switch to newer things in OutSystems. 

Can OutSystems please put this on the radar?


See https://www.outsystems.com/ideas/14499/enable-the-use-of-blocks-in-reactive-emails/

Hi all here you can use the email template


I have suggested one more thing in that to provide a method which can return the rendered html from the email screen

GetEmailHtml(templateScreenId, data) 

so we can use it in ckeditor where user can edit it and then pass to a sendmail method.

https://www.outsystems.com/ideas/14815/need-to-read-email-html-before-sending-it/


Hi Folks,

I’m facing a similar issue. I understand that there is currently a design limitation with email functionality in Reactive Web Apps.

However, suggesting not to use or create new Traditional Apps simply because they may be deprecated in the future and would eventually require migration to Reactive feels unreasonable.

We either need a proper solution for this use case in Reactive Apps itself, or we should be allowed to use the available workaround. Especially when licensing is involved, it becomes a blocker - as implementing an email feature is a very common requirement in enterprise applications today.

I also second this idea as sometimes email templates needs to be managed using CMS part of the application. 

I also second this idea as sometimes email templates needs to be managed using CMS part of the application.