jobisoft / EAS-4-TbSync

[Thunderbird Add-On] The Exchange ActiveSync provider for TbSync to sync contacts, tasks and calendars to Thunderbird.
https://github.com/jobisoft/EAS-4-TbSync/wiki/About:-Provider-for-Exchange-ActiveSync
Mozilla Public License 2.0
194 stars 29 forks source link

Feature request: Adding e-mail support #13

Open jobisoft opened 5 years ago

jobisoft commented 5 years ago

From @Alicimurky on July 15, 2018 22:10

Your environment

TbSync version: 0.7.10 Thunderbird version: 60.0b10 (32-bit)

[ x] Yes, I have installed the latest available (beta) version from https://github.com/jobisoft/TbSync/releases and my issue is not yet fixed, I can still reproduce it.

Expected behavior

UBC student e-mail does not support IMAP/POP or SMTP, but it does support ActiveSync on Android. I'd love to read my school mail on Thunderbird (and not super clumsy Outlook.org). Any chance you could revisit the idea of adding e-mail support for cases like these?

https://it.ubc.ca/services/email-messaging/student-alumni-email-service/student-and-alumni-email-faq#imap

Actual behavior

...

Steps to reproduce

...

To help resolving your issue, enable debug logging (TbSync Account Manager -> Help) and send me the debug.log via e-mail (use the title of your issue as subject of the email).

Copied from original issue: jobisoft/TbSync#103

jobisoft commented 5 years ago

Hi @Alicimurky,

this is at the lower end of my todo list, there is so much other stuff, that needs to be implemented. Furthermore, the work needed to get this done is huge. I am open for Pull Request ("someone else is doing it"), but I do not see myself doing this.

The syncing part will not be so much work, but the UI, to create a folder in the mails view and make it searchable and fully integrated in Thunderbird. I think the buzzword here is JSAccount and someone who is thinking about implementing this should take a look at ExQuilla - which is about to be discontinued, because adapting it to Thunderbird 60+ is also a lot of work. So this is not really looking good.

jobisoft commented 5 years ago

From @mikko-ttlsystems on July 25, 2018 10:18

Well, hopefully someone gets around to this before October 2020, because that's when some of the older access methods (EWS with Simple authentication, for example) are supposed to get cut off in Exchange Online / Office 365. The language in the announcement isn't all that clear but by a strict reading might also cover IMAP and POP - right now they can be enabled/disabled separately.

(Specific to Office 365 announced plans - other products and services will vary and plans may change.)

jobisoft commented 5 years ago

From @Alicimurky on July 25, 2018 18:22

Thanks for your response, @jobisoft I'm afraid this is still veery far from my skill set, otherwise I'd give it a try myself.

jobisoft commented 5 years ago

Check out: https://addons.thunderbird.net/de/thunderbird/addon/owl-for-exchange/?src=search

That should work for you. Closing this as "solved by someone else".

gbakeman commented 1 year ago

I just want to comment here as someone who was eagerly watching the process of bringing this back up to date with modern versions of Thunderbird. I've installed your addons just now, and am in love with the integration with my Business 365 tenant even as it stands. It's very valuable to me to have all my email and associated data in one place, and your addon has enabled that while allowing me to remain in the open source software realm as much as possible.

I'd like it if this issue could be revisited and opened for discussion again, if anything because Owl for Exchange appears to be payware. But having the full Exchange (even 365 if I'm honest) ecosystem available in Thunderbird, and still being FOSS, would be wonderful. I was just poking around in Microsoft's Learn website, and it appears that they have REST APIs for accessing various Outlook.com and 365 mailbox data, including:

I don't know to what, if any extent the EAS plugin goes to use Microsoft REST APIs, but this documentation alone makes me feel that total Outlook Online (365) integration is within reach. What do you think about this, @jobisoft?

jobisoft commented 1 year ago

This is more complicated than it looks.

It is primarily not because of missing documentation about how to talk to outlook, but how to interact with Thunderbird to show your incoming emails. OWL is using something that is called AccountJS (if I remember the name correctly) to hook into the account system and to create an "Exchange Account" in the Thunderbird Folder Pane. This is not free and I cannot use that. AccountJS is very old code (Ben inherited it from the original author R Kent James) and Ben spend a considerable amount of time to keep that piece of code working with modern Thunderbird.

I do not have the resources to re-invent that in my free time. We should also not look at all at OWL code, to be protected from copy-right related issues.

Since the old days, Thunderbird has transitioned and now supports WebExtension APIs, which allow for simpler add-on development using well maintained interfaces, which no longer break during Thunderbird updates. (This is why many old add-ons constantly break and need updates, because they directly use internal functions, which may change over time). Thunderbird does have plans to create an email-provider API, but it is not anywhere at the top of the to-do-list. Again, this is a question of available resources.

Once we have that API, and once TbSync has been converted to a WebExtension (which is doable), I will be able to move this forward.

It all comes down to the question of resources and the will to spend (a considerable amount) of time on this. The new API will benefit every add-on developer, not just TbSync. I have a full time job and I do not see myself working on this any time soon in my free time.

Now a twist: I am Thunderbirds main add-on reviewer (every submitted add-on has to be reviewed before it is made available to the public on addons.thunderbird.net), so I have already looked at OWL code as part of the review process, which makes it very difficult for me to work on this email provider API, due to the legal constraints.

Another twist: I am also Thunderbirds WebExtension API maintainer. Due to the problematic nature of this email provider API and the many other open task related to WebExtensions, I currently do not plan to work on that as part of my job. However, if there is anyone out there willing to spend time on this, I will provide support and guidance. I assume this is a 6-12 month full time effort, with a long getting started phase because you have to dive into Thunderbirds core code (C and JavaScript).

gbakeman commented 1 year ago

Many thanks for taking the time to write that extensive explanation. I certainly understand now that it is not easy at all, although I do appreciate that the possibility is out there. Perhaps this issue can be left open to attract future interested contributors? Are there any relevant issues in the Thunderbird project that could be linked here as dependencies?

jobisoft commented 1 year ago

Are there any relevant issues in the Thunderbird project that could be linked here as dependencies?

We do not yet have an official bugzilla bug entry for it. I will add one later and link it here.

yoshimo commented 1 year ago

Full Time effort, sounds like the chances are higher if we put a big bounty on it and start a fundraiser campaign

gbakeman commented 1 year ago

I'm almost of the mind that the Thunderbird project should support ActiveSync/365 protocols natively since Microsoft's products are so widely used, although I understand how Thunderbird should be modular in nature and a proprietary protocol doesn't belong inside software like Thunderbird. At the very least though, it seems like Thunderbird should provide some resources to an extension that does this.

yoshimo commented 1 year ago

We do not yet have an official bugzilla bug entry for it. I will add one later and link it here.

Is it later already? Something to watch and upvote would be good. Something technical with the necessary work is helpful to see the scope and amount of work required

yoshimo commented 1 year ago

Are there any relevant issues in the Thunderbird project that could be linked here as dependencies?

We do not yet have an official bugzilla bug entry for it. I will add one later and link it here.

Does this bugzilla entry exist by now?