Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wish there were a good workaround for those of us condemned to MS365/Outlook. Outlook desktop is very unstable and buggy, and Outlook web is full of weird antipatterns. For example, it is absurdly annoying to get a direct link to an e-mail message in Outlook web. If it were easy, I would just pass that url to org-protocol in the browser and keep my tasks organized with backlinks to the e-mails that originated those tasks or projects.

As it is, my emacs and e-mail are almost fully separated due to (I'm assuming intentional) lack of a simple method of interoperability.





I have been able to use mu4e with my o365 account using davmail (https://davmail.sourceforge.net/). I will say it was a bit of a pain to get authentication right, and involved a lot of trial and error.

Could you share a bit more details on your config?

Oh goodness, truthfully I'm not sure how well I understand it. I initially set it up a few years ago, and recently futzed with it after my organization changed something about their auth. My configs aren't really in a shareable state so I hope this ramble is at least somewhat helpful.

Basically DavMail connects to outlook at creates a local smtp and imap server which I connect to with mbsyc and msmtp. Mu indexes these emails from the local server created by DavMail, and Mu4e displays them and sends them with that local server as well. Once you have DavMail setup you can basically follow any standard mu/mutt/msmtp/mbsync tutorial, just use localhost and the ports exposed by DavMail.

Getting DavMail setup can be the tricky part, I remember having a lot of trouble, but I think it was related to the fact that the config I was editing wasn't being picked up systemd service that was controlling DavMail. The best advice I can give you is experiment with different authentication modes (davmail.mode in the config) and try sending mail to the DavMail server in an attempt to trigger it to do the authentication workflow.

In the end, set davmail.mode=O365Manual and davmail.url=https://outlook.office365.com/EWS/Exchange.asmx Upon attempting to send an email from mu4e it opened up a browser to do a microsoft authentication, and then I believe it saved a token in my config file (variable davmail.oauth.<your email>.refreshToken) which has been handling authentication without issue for the past few months.

Some miscellaneous notes. First, this may have been harder for me as it was not possible for me to use the DavMail GUI which might make the authentication workflow easier. I also have two email username@organization and first.last@organization. I have all of my davmail,msmtp, and mbsync configurations using username@organization, My mu4e config references the username@organization maildir folders, but my user-mail-address variable is first.last@organization and that is what recipients see (although mu complains about not knowing about the first.last account). Lastly, this DavMail setup isn't mu4e specific, I initially used it with mutt, and it worked for that as well.

I hope this is helpful, if there's interest I can try to go through the setup from the beginning and create a more in depth tutorial. I wish Microsoft did not make this such a pain, and I wonder if DavMail's days of effectiveness will soon be over...


This may help, it has an example pizauth config (scroll down to "Authenticating with pass and pizauth"):

https://stuff.sigvaldason.com/email.html


Is it possible to get the authentication done without running their proprietary JavaScript login page?

Have you tried this yet? Looks like it uses the ms graph API https://github.com/jgunthorpe/cloud_mdir_sync

I got briefly excited about this one, but I've run into the same issue of needing the IT department to explicitly permit me:

https://github.com/jgunthorpe/cloud_mdir_sync/issues/25


Check us out, we support Outlook and any other possible IMAP/OAuth provider. Cross platform, offline-first, and instant syncing:

https://marcoapp.io




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: