frankframework / frankframework

The Frank!Framework is an easy-to-use, stateless integration framework which allows (transactional) messages to be modified and exchanged between different systems.
https://frankframework.org
Apache License 2.0
115 stars 76 forks source link

Sending e-mails using MS Graph Entra Id #6750

Open RayetSena opened 2 months ago

RayetSena commented 2 months ago

image

Can you add a feature to send emails using MS Graph Entra Id or do you have any suggestions for this?

Reporter Sena

jacodg commented 2 months ago

Should be possible with ExchangeFileSystem

Laurens-makel commented 2 months ago

Should be possible with ExchangeFileSystem

Nope, these API's are entirely different and Microsoft recommends to move away from EWS towards MS Graph API.... https://learn.microsoft.com/en-us/graph/migrate-exchange-web-services-overview

image

EDIT: In 2026, EWS will be retired. image

https://tweakers.net/nieuws/213756/microsoft-stopt-in-2026-met-api-voor-koppeling-aan-exchange-online-en-office-365.html

tnleeuw commented 2 months ago

The ExchangeFileSystem should however still work with Exchange Online and OAuth2 instead of using SMTP, as far as I know. So this should allow sending of mails via Exchange Online and in future when in the framework we rewrite the ExchangeFileSystem to use the new MS Graph API, this can hopefully be upgraded with little or no change to the adapter configurations.

Laurens-makel commented 2 months ago

The business question seems to be sending e-mails using MS Graph, the given answer is you can use EWS for this. Without providing that EWS is deprecated and will be stopped in 2026..

From a framework perspective it's a simple change to change the listener type once the relevant MS Graph listener has been created, however it could be much more work organisational wise to make this change happen. Processes has been created, authorization have been granted, firewall changes are made, proxy configurations are made, all based on a deprecated API. Depending on the complexity of the organisation, it might be a painful process to change from EWS to MS Graph.

In my opinion, it's wrong to advice to use a deprecated API without providing additional warnings. Especially when this is known for a long time #3022, which was closed because basic authentication was replaced by OAuth.....

nielsm5 commented 2 months ago

Due to the complexity and severe lack of tests for the ExchangeFileSystem we think that the technical change will take quite some time. The reason this is being pushed back it because there are other priorities, right now LCM of certain dependencies is a big one, as this has a 2 month deadline. The stability of the framework for all outweighs this functionality for a few and thus we constantly try to prioritize our issues to keep everyone happy, but I hope you can also understand that this is a tough and time consuming task.

I understand your business case, and that you're urging that we need to look at this. It's being considered!

Laurens-makel commented 2 months ago

If the business case is only sending mails through ms graph, then an advice could also be to do this with the HttpSender and implement it according the following docs for the time being: https://learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&tabs=http

Yes, once the desired components are there, the Frank developer has to change their configuration, however no process, authorization, firewall or proxy changes required.