1 OpenO365


Campus (UMsystem) has moved to centralized, cloud-sourced, closed-source, email and calendaring provided by Microsoft Outlook. If you would like to access email using your choice of mail client, there are currently several open, or semi-open alternatives which are pre-approved by UMsystem:

  1. Exchange -> Davmail -> Your choice of email/calendar client (Windows, Linux, Mac):
  2. Exchange -> Evolution-mail (Linux):
  3. Exchange -> ExQuilla plugin -> Thunderbird (Windows, Linux, Mac):
  4. Exchange -> KDE’s KMail (Linux):

1.1 1. Exchange -> Davmail -> Your choice of email/calendar client!

http://davmail.sourceforge.net/ (open source)

Exchange/Office-365 runs a proprietary protocol (rather than rely on open standards for email). One solution to using your own mail client which only interacts with open standards (IMAP, SMTP, POP, etc), is to use Davmail. The cross-platform software, Davmail, pretends to be Outlook, and then re-serves a mail server (IMAP or POP, and SMTP, calendaring server, etc.) on your localhost. You can then point your mail and calendaring client (e.g., mutt, Thunderbird, Claws-mail, Evolution, KMail, or whatever other client) to localhost on Davmail’s chosen port, and they will interface with campus exchange.

To set up davmail:

  1. Download the latest version of davmail for your OS from: http://davmail.sourceforge.net/
  2. Follow the specified installation instructions, on the davmail site, for your platform (Linux, Windows, Mac).
  3. Confirm you can run and launch davmail.
  4. Right click on davmail -> open “settings” -> select the “main” tab
    1. In the drop-down menu for selecting the exchange protocol (screenshot and information here: http://davmail.sourceforge.net/gettingstarted.html), choose either:
      • O365Interactive Office 365 with interactive browser window, not available in headless mode (OpenJFX required)
      • O365Manual Office 365 with interactive dialog, not available in headless mode
    2. URL: automatically chosen by davmail
    3. The rest depends on your preferences (whether you want IMAP or POP3, which port you want those and SMTP on, etc). See the davmail documentation or message board for more detail.
  5. Configure your mail client of choice to point to davmail’s local server (127.0.0.1:PORT) where port is whatever you chose for each protocol.
    1. In your mail client, put in your username@umsystem.edu and password into your mail client itself, not davmail.
  6. When you check your mail, davmail will prompt you to open a link in a web browser, to complete your OAuth2 2fa, and then past the resulting link (which will appear blank) back into the davmail GUI prompt. It will remember your session for the duration of the time your computer is on. Copy-pasting the OAuth link into your browser of choice is recommended.

I have not tried setting up davmail directly with EWS using the appropriate IDs, but you may find them helpful for some setups:

Notes:

1.2 2. Exchange -> Evolution-mail

https://wiki.gnome.org/Apps/Evolution/ (open source, Linux-only)
While there have been many attempts at native open exchange support particular to mail/calendaring clients themselves, the only full open client-native option I have tested that works on campus is Evolution mail. Evolution uses maildir for its mailbox format, which is a better option than the mbox format used as Thunderbird’s default. It is a pretty solid mail client, in my opinion.

  1. Install Evolution (Linux only)
#!/bin/bash

# If you run Fedora/Red-Hat
dnf search evolution
sudo dnf install evolution evolution-ews

# If you run a Debian-based distro (like Ubuntu, Mint, etc.)
sudo apt-get update
apt search evolution
sudo apt install evolution evolution-ews

# If you run OpenSuse
zypper search evolution
sudo zypper install evolution evolution-ews

# if you run some other distro, you probably get the point by now...
  1. Open Evolution
  2. File -> New -> Mail account
  3. Enter your basic information
  4. For the connection settings, enter the following information:
    1. Server Type: Exchange web services (EWS)
    2. Tenant GUID: e3fefdbe-f7e9-401b-a51a-355e01b05a89
    3. Application ID: 20460e5d-ce91-49af-a3a5-70b6be7486d1
    4. Host url: https://outlook.office365.com/EWS/Exchange.asmx
    5. OAB (online address book) url: Click “Fetch URL” seen below, and it will auto-fill this (you don’t type it what you see below).
    6. Make the rest of the settings match below (other than OAB URL, and your own username):
      OpenO365/evolution.png
  5. The rest of the configuration is up to you!
  6. When it attempts to log in, Evolution will show you a little pop up window with the web-based OAuth 2fa, which you follow as you would expect. OAath 2fa support appears to be limited to phone/text, with hardware security keys in Linux usable only in chromium-based browsers.

If you need more help, see the links from several other universities on this topic (naturally, their ID values will not work here, and you have to use the IDs above):
* https://sites.utexas.edu/glenmark/2021/02/01/how-to-setup-your-office-365-email-using-evolution-ews-linux/
* https://oit.utdallas.edu/helpdesk/kb/?id=946348a8ba16de1d0a42904323b00426a335099c42
* https://support.uidaho.edu/TDClient/40/Portal/KB/ArticleDet?ID=1080
* https://oit.colorado.edu/tutorial/office-365-evolution-configuration

1.3 4. Exchange -> ExQuilla plugin -> Thunderbird

Configuration parameters

I have not set this up myself, and would recommend any of the following over doing so:

1.4 4. Exchange -> KDE’s KMail ?

Linux only email client, KMail. This may be working in general. However, it has not been tested by me (or campus), or approved by campus yet. If anyone has confirmed KMail working with OAuth2 and O365 modern in general, and wants to use it, please check in and make the request.