Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EWS support #247

Open
hartois opened this issue Jan 4, 2018 · 16 comments
Open

EWS support #247

hartois opened this issue Jan 4, 2018 · 16 comments
Assignees
Labels
enhancement suggest an improvement new module set requires a new module set

Comments

@hartois
Copy link
Contributor

hartois commented Jan 4, 2018

Hello.
Have you any plans about EWS (Eschange Web Services) support?
Office 365 accounts with F1 (prev K1) license does not support IMAP but support EWS.
I known that Office 365 has web interface) But it very very stupid and heavy!
Many of my workstations with 2 GB RAM cannot use it.
On Linux desktop I use Evolution and I'll be happy to have an adequate web interface for the O365.

@jasonmunro jasonmunro added the enhancement suggest an improvement label Jan 4, 2018
@jasonmunro jasonmunro self-assigned this Jan 4, 2018
@dumblob
Copy link
Member

dumblob commented Jan 4, 2018

Well, this proposal makes sense. But on the other hand Cypht is quite bound to IMAP and I guess, that adding EWS support would take a lot of effort. I'm curious what @jasonmunro thinks.

Btw I've taken a look at the glossary for all the specs (see https://msdn.microsoft.com/en-us/library/office/hh285607(v=exchg.140).aspx ) and it's really long and complicated.

Then I've search for "exchange web services" on Github and the very first link was https://github.com/jamesiarmes/php-ews which seems feasible to use, but I'm not sure about security concerns etc. There are also other PHP libs on GitHub (e.g. https://github.com/rileydutton/Exchange-Web-Services-for-PHP ) and of course many libs in other languages - a good place to study (rather than reading all the specs).

@hartois
Copy link
Contributor Author

hartois commented Jan 4, 2018

Also I found
https://github.com/Garethp/php-ews

@jasonmunro
Copy link
Member

Oh boy, Email over SOAP, thanks Microsoft! :)

Seriously though, at it's core Cypht is a data aggregator. While our main focus is Email, specifically IMAP, this could be implemented as it's own module set similar to POP3. While I think this would be cool to support (same with jmap), the big obstacle is the time it would take to code up. Not too mention I really don't care for XML based protocols having just built an ABAC XACML system in python. shivers

The ability to leverage an existing lib for the heavy lifting would make it easier for sure, but as @dumblob correctly points out any third party project we incorporate means we inherit all the potential problems of that project (I'm not against that, it just is a concern).

With all that said, as of right now I don't have plans to implement EWS, but I'm definitely not against it. I'm happy to leave this request open. You never know - maybe someday somebody will want to contribute code to get this done, or I will find time to do it. I appreciate the feedback and suggestion @hartois

@hartois
Copy link
Contributor Author

hartois commented Jan 5, 2018

I understand.
If I can find free time, I'll try to implement a module that uses a third-party php-ews library. I do not think that it should be included in the upstream.
Maybe I need help writing a module - I will ask questions here)

@jasonmunro
Copy link
Member

I am willing to help with any questions. Currently the best resource for module set development is here:

https://cypht.org/modules.html

We have a "hello world" module set example that explains the basics, but now that I think of it, I could put together a skeleton module set for new data sources that share some or all of the features of IMAP (it's by far the most complicated data source Cypht supports). It would not actually do anything, but it would have all the settings and classes defined to support another E-mail like protocol.

I think this would help you integrate a third party EWS module set, and I think I could whip something up pretty quickly. I will create a new issue for it. Thanks again for the feedback!

@jasonmunro
Copy link
Member

New issue for a "skeleton" module set: #258

@jasonmunro jasonmunro added the new module set requires a new module set label Sep 25, 2018
@marclaporte
Copy link
Member

A new release today:
https://github.com/Garethp/php-ews/releases/tag/v0.9.7

@marclaporte
Copy link
Member

@alfureu
Copy link

alfureu commented Feb 20, 2023

I would also love to see an EWS support, including calendars and contacts.

The scenario: if you work for multiple organizations, one using Google services, another Microsoft, there are very very limited means to merge calendars and be able to schedule things somewhere centrally. Some clients exist, but support is poor. It would be amazing if an EWS support could be implemented alongside the existing ones.

@marclaporte
Copy link
Member

It's unlikely an Open Source developer will be motivated to volunteer/contribute for interoperability to a proprietary solution. Realistically, we'll need a sponsor for this to happen. If someone out there can make that happen, please reach out to me and let's make it happen.

@marclaporte
Copy link
Member

Now at version 0.10.1: https://github.com/Garethp/php-ews/releases

@marclaporte
Copy link
Member

Another approach:
https://davmail.sourceforge.net/

@marclaporte marclaporte added the help wanted we would love your help label Apr 4, 2024
@marclaporte
Copy link
Member

Great news! You can expect some progress here soon!

@marclaporte marclaporte removed the help wanted we would love your help label Aug 20, 2024
@marclaporte marclaporte assigned kroky and unassigned jasonmunro Aug 20, 2024
@marclaporte
Copy link
Member

@hartois @dumblob @alfureu: Great news! Over the next few weeks, we will integrate https://github.com/Garethp/php-ews/ into Cypht.

The focus will be email but once that works, it will be easy enough {famous last words? :-)} to extend to contacts and calendars. Although calendar support in Cypht is pretty basic, Cypht within Tiki provides more advanced calendaring: https://doc.tiki.org/Calendar-Invitations-by-email

Cypht already supports JMAP: #180 so I predict that Cypht will be the first Open Source standalone webmail that supports all three: IMAP and JMAP and EWS. So this will be a quite interesting unified inbox!

We need testers!

@marclaporte
Copy link
Member

@hartois @dumblob @alfureu The work has started: #1278

Any volunteers for testing?

@marclaporte
Copy link
Member

1st contribution to upstream: Garethp/php-ews#266

We still need testers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement suggest an improvement new module set requires a new module set
Projects
None yet
Development

No branches or pull requests

6 participants