Skip to content

Instantly share code, notes, and snippets.

@Raymo111
Last active January 23, 2022 23:37
Show Gist options
  • Save Raymo111/737cbd1d94312afe690cccae91c40dc9 to your computer and use it in GitHub Desktop.
Save Raymo111/737cbd1d94312afe690cccae91c40dc9 to your computer and use it in GitHub Desktop.
How to connect to UWaterloo's new email system via any mail client

How to connect to UWaterloo's new email system via any mail client

By Raymond Li (Raymo111), July 1st, 2020 (Happy Canada Day!)

Last updated 12 Sept 2021
Credits to PixlOne for O365Interactive mode and headless Davmail

Step 1: Get Davmail.

  • I'm on Arch Linux, so I installed it from the AUR.

Step 2: Launch and configure Davmail.

  • Use O365Interactive for Protocol, and uncheck Local POP port, Caldav HTTP port, and Local LDAP port. Keep everything else as the default, and hit save.

Step 3: Setup your mail client.

  • I'm using Mailspring, which I believe is the best mail client I can get for free. [Not Sponsored]
  • Use manual config (IMAP/SMTP) to setup the account.
  • Use <your WatIAM username>@uwaterloo.ca as your username and your WatIAM password.
  • Use localhost as the server.
  • Use the ports set in Davmail (1143 for IMAP and 1025 for SMTP by default).
  • Set any authentication to None.
  • The first time you attempt to connect, you'll get a Davmail popup and the UWaterloo adfs page will open. Login with your credentials, and paste the link you reach at the end into the Davmail prompt.

Step 4: Run it as a headless service.

  • Success! Your mail should now work. Davmail basically acts as an interpreter between the O365/Exchange network and IMAP/SMTP. As such, it must be constantly running to receive/send mail. Go ahead and exit Davmail. Copy the properties from your home directory to /etc with:
sudo cp ~/.davmail.properties /etc/davmail/<your-linux-username>.properties

and change O365Interactive to O365Manual in the config file:

sed -i 's/O365Interactive/O365Manual/g'
  • Add a davmail user:
sudo useradd --system davmail
  • Finally, start and enable the service with:
sudo systemctl enable --now davmail@<your-linux-username>

That's it! Note: Always test and verify via the webapp before relying on any setup!

@kishvanchee
Copy link

kishvanchee commented Aug 19, 2021

Thank you, this was really helpful. For anyone who might be doing this with Arch Linux, I have added the service to /etc/systemd/system/davmail.service

[Unit]
Description=DavMail Exchange Gateway
After=network.target
Requires=network-online.target

[Service]
Type=simple
RemainAfterExit=no
ExecStart=/usr/bin/davmail /home/kishore/.davmail.properties
ExecStop=killall davmail

[Install]
WantedBy=multi-user.target

and then sudo systemctl enable davmail --now. Hope it helps.

Thank you for the instructions.

@Raymo111
Copy link
Author

Thank you, this was really helpful. For anyone who might be doing this with Arch Linux, I have added the service to /etc/systemd/system/davmail.service

[Unit]
Description=DavMail Exchange Gateway
After=network.target
Requires=network-online.target

[Service]
Type=simple
RemainAfterExit=no
ExecStart=/usr/bin/davmail /home/kishore/.davmail.properties
ExecStop=killall davmail

[Install]
WantedBy=multi-user.target

and then sudo systemctl enable davmail --now. Hope it helps.

Thank you for the instructions.

No worries, I cleaned up your comment a bit, it should work like that too yes.

@ABrambleNinja
Copy link

Thanks for putting this guide together! The EWS authentication stopped working for me recently, I believe, but the Office365Interactive one worked just fine once I figured out this weird issue:

@martellato are you using Wayland by any chance? If so, I found a weird issue with the web browser opening up, see here for more details: https://sourceforge.net/p/davmail/support-requests/373/

@martellato
Copy link

@ABrambleNinja Same! I'm on X11; for me, the pop-up would appear but with a certificate error. Once I clicked on the button to acknowledge and continue, the window would close and do nothing. When EWS stopped working, I could switch to O365Interactive, and it worked just fine this time.

Do you guys know how to set up LDAP and calendar events?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment