
If you run Fedora 43 at work or in a home lab and your organization relies on Microsoft Exchange or Office 365, you already know the pain. There is no native Outlook for Linux, and webmail gets old fast when you need calendar sync, contacts, and push notifications. DavMail solves this problem by acting as a local protocol gateway that translates Exchange’s proprietary stack into standard IMAP, SMTP, CalDAV, CardDAV, and LDAP, the protocols that every Linux mail client already understands.
This guide walks you through how to install DavMail on Fedora 43 from start to finish. You will cover three installation methods, initial configuration, headless server mode, a production-grade systemd service setup, email client integration, and a troubleshooting section for the most common failure points. By the end, your Fedora 43 machine will have a fully operational Exchange gateway that starts automatically on boot and survives network reconnects.
What Is DavMail and Why Use It on Fedora 43?
DavMail is an open-source, self-hosted gateway that sits between your Linux mail client and your Microsoft Exchange or Office 365 server. It connects outward to your Exchange server using OWA (Outlook Web Access) or EWS (Exchange Web Services), then exposes a set of standard protocol ports on 127.0.0.1 for your local clients to consume.
The result is transparent: your mail client talks IMAP to localhost, and DavMail handles the proprietary Exchange communication in the background. You get full access to email, calendar, contacts, and the global address book without any Microsoft client on your system.
DavMail is actively maintained. Version 6.5.1 shipped in October 2025 with sysusers.d support for Fedora 43, making it a first-class citizen on this release.
Supported Protocols
DavMail exposes the following local protocol endpoints:
- IMAP — email reading (default port
1143) - SMTP — email sending (default port
1025) - POP3 — legacy email retrieval (default port
1110) - CalDAV — calendar sync (default port
1080) - CardDAV — contacts sync (default port
1080) - LDAP — address book/directory lookup (default port
1389)
It works with any standards-based mail client including Mozilla Thunderbird, GNOME Evolution, KMail, Geary, and Mailspring.
Authentication Modes Supported
EWS— Exchange Web Services, best for Exchange 2007 and newerO365Manual— token-based Office 365 auth without a browser popupO365Interactive— browser-based modern OAuth2 login, required when MFA is enforcedOWA— classic Outlook Web Access, widest compatibility
Prerequisites Before You Install DavMail on Fedora 43
Before running any install command, confirm the following requirements are in place. Skipping this step causes most first-time failures.
System Requirements
- Fedora 43 installed and fully updated
- A user account with
sudoprivileges - Active internet connection
- Minimum 512 MB RAM (1 GB recommended for headless/server mode)
Check and Install Java
DavMail is a Java application. It requires OpenJDK 11 or later, and OpenJDK 21 gives the best performance and compatibility on Fedora 43.
Check your current Java version:
java -version
If Java is not installed or the version is below 11, install it:
sudo dnf install java-21-openjdk
For Office 365 users who need the interactive browser login window (O365Interactive mode), you also need JavaFX:
sudo dnf install openjfx
Gather Your Exchange Credentials
Before configuring DavMail you need:
- Your OWA URL — typically
https://mail.company.com/owafor on-premises Exchange - For Office 365:
https://outlook.office365.com/EWS/Exchange.asmx - Your full email address as the username
- Your password or an app password if your tenant enforces MFA
Update Your System
Always update before installing new packages to avoid dependency conflicts:
sudo dnf update
Step 1: Install DavMail via the Fedora COPR Repository (Recommended)
The COPR repository (Cool Other Package Repo) is Fedora’s official community build system. The DavMail developer, mguessan, maintains the official COPR repository directly. This method handles all dependencies automatically, integrates with dnf upgrade, and gives you clean uninstalls.
This is the recommended method for the vast majority of Fedora 43 users, both desktop and server.
Step 1.1: Enable the COPR Repository
sudo dnf copr enable mguessan/davmail
What this does: Adds the DavMail COPR repository file to /etc/yum.repos.d/. DNF will prompt for confirmation. Type y and press Enter.
Expected output:
Enabling a Copr repository. Please note that this repository is not part
of the main Fedora distribution, and quality may vary.
...
Repository successfully enabled.
Step 1.2: Install DavMail
sudo dnf install davmail
What this does: Downloads and installs the latest DavMail RPM along with all required Java dependencies. The package is approximately 7.5 MB plus runtime dependencies.
Step 1.3: Verify the Installation
davmail --version
Also confirm the binary location:
which davmail
Expected output: /usr/bin/davmail
If both commands return results without errors, the installation is complete.
Step 1.4: Launch DavMail in Desktop (GUI) Mode
davmail
On first launch, DavMail opens its configuration window where you set up the Exchange URL and port settings.
Note for GNOME users: The tray icon does not appear by default on Fedora 43 with GNOME. Install the “AppIndicator and KStatusNotifierItem Support” extension from extensions.gnome.org, or suppress the tray entirely with:
davmail -notray
Keeping DavMail Updated
sudo dnf upgrade davmail
Step 2: Install DavMail via Flatpak (Alternative)
The Flatpak method is a good choice for desktop users who prefer sandboxed installations and want to avoid any interaction with system-level packages.
Fedora 43 ships with Flatpak pre-installed and Flathub configured by default.
Step 2.1: Confirm Flathub Is Enabled
flatpak remote-list
If Flathub does not appear in the list, add it:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Step 2.2: Install DavMail from Flathub
flatpak install flathub org.davmail.DavMail
What this does: Downloads the DavMail Flatpak bundle (org.davmail.DavMail) from Flathub along with its runtime environment.
Step 2.3: Run DavMail via Flatpak
flatpak run org.davmail.DavMail
Limitations of the Flatpak Method
- The configuration file lives inside the Flatpak sandbox, which makes it harder to manage for server or headless deployments
- Not recommended for systemd service setup — use the COPR method for that
- Update with:
flatpak update org.davmail.DavMail
Step 3: Install DavMail from a Manual RPM (Offline / Pinned Versions)
Use this method on air-gapped systems, when COPR is unavailable, or when you need a pinned version for stability.
Step 3.1: Add the OpenSUSE Build Service Repository
The official DavMail RPM builds for Fedora are hosted on the OpenSUSE Build Service. Add the Fedora Rawhide repository (used for Fedora 43 and later):
sudo dnf config-manager addrepo \
--from-repofile=https://download.opensuse.org/repositories/home:mguessan:davmail/Fedora_Rawhide/home:mguessan:davmail.repo
Then install:
sudo dnf install davmail
Step 3.2: Install a Downloaded RPM Directly
If you already downloaded the RPM file:
sudo dnf install ./davmail-6.5.x.noarch.rpm
Important: Manual installs do not auto-update. Check the official DavMail SourceForge release page periodically and repeat the install process when a new version is available.
Step 4: Configure DavMail on Fedora 43
Installation alone is not enough. You need to configure DavMail to connect to your Exchange or Office 365 server. This is the most important section for making DavMail actually useful.
Step 4.1: GUI Configuration (First-Time Desktop Setup)
When you launch DavMail for the first time, the configuration window opens automatically.
Set the following fields on the General tab:
| Field | Value |
|---|---|
| OWA (Exchange) URL | https://outlook.office365.com/EWS/Exchange.asmx (O365) or your OWA URL |
| Connection Mode | EWS for on-prem Exchange, O365Interactive for O365 with MFA |
| IMAP port | 1143 |
| SMTP port | 1025 |
| CalDAV/CardDAV port | 1080 |
| LDAP port | 1389 |
Click Save when done. DavMail writes the settings to ~/.davmail.properties.
Step 4.2: Manual Configuration File Setup (Server / Headless)
For system-wide or headless deployments, create the config directory and file:
sudo mkdir -p /etc/davmail
sudo nano /etc/davmail/davmail.properties
Paste and adjust the following:
davmail.url=https://outlook.office365.com/EWS/Exchange.asmx
davmail.mode=O365Interactive
davmail.server=true
davmail.allowRemote=false
davmail.bindAddress=127.0.0.1
davmail.imapPort=1143
davmail.smtpPort=1025
davmail.caldavPort=1080
davmail.ldapPort=1389
davmail.popPort=1110
davmail.enableKeepAlive=true
davmail.logFilePath=/var/log/davmail.log
davmail.logFileSize=1MB
Key settings explained:
davmail.server=true— disables the GUI entirely for headless modedavmail.allowRemote=false— restricts DavMail to localhost connections only (security best practice)davmail.bindAddress=127.0.0.1— binds all protocol listeners to localhost
Step 5: Run DavMail in Headless (Server) Mode
Headless mode is ideal for Fedora 43 servers, home lab machines, or any system where no desktop session is available.
Step 5.1: Start DavMail in Headless Mode
Point DavMail at your config file directly:
davmail /etc/davmail/davmail.properties
The -notray flag works here too if you run it from a minimal desktop environment:
davmail -notray /etc/davmail/davmail.properties
Step 5.2: Verify DavMail Is Listening
Check that DavMail opened its expected ports:
ss -tlnp | grep java
You should see listeners on ports 1025, 1080, 1143, 1389, and 1110 bound to 127.0.0.1.
Step 5.3: Check the Log
tail -f /var/log/davmail.log
Look for DavMail gateway listening on port messages to confirm each protocol service started successfully.
Step 6: Set Up DavMail as a systemd Service on Fedora 43
Running DavMail as a systemd service means it starts at boot, restarts on failure, and keeps running without any user session active. This is the production-grade setup for any serious deployment.
The DavMail COPR package for Fedora 43 includes sysusers.d configuration that creates the davmail system user automatically. If you installed via COPR, the system user already exists.
Step 6.1: Create the systemd Unit File
sudo nano /etc/systemd/system/davmail.service
Paste the following:
[Unit]
Description=DavMail Exchange Gateway
Documentation=https://davmail.sourceforge.net/serversetup.html
After=network.target
[Service]
Type=simple
User=davmail
PermissionsStartOnly=true
ExecStartPre=/usr/bin/touch /var/log/davmail.log
ExecStartPre=/bin/chown davmail:adm /var/log/davmail.log
ExecStart=/usr/bin/davmail -server /etc/davmail/davmail.properties
Restart=on-failure
RestartSec=30
PrivateTmp=yes
NoNewPrivileges=true
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
What each directive does:
After=network.target— waits for network availability before startingRestart=on-failurewithRestartSec=30— auto-recovers after crashes or network dropsPrivateTmp=yesandNoNewPrivileges=true— harden the service against privilege escalationSuccessExitStatus=143— treats SIGTERM as a clean shutdown, not a failure
Step 6.2: Create the DavMail System User (If Not Using COPR)
If you installed DavMail manually and the system user does not exist:
sudo useradd -r -s /bin/false davmail
Set correct ownership on the log file and config:
sudo chown davmail:davmail /etc/davmail/davmail.properties
sudo chmod 600 /etc/davmail/davmail.properties
Step 6.3: Enable and Start the Service
sudo systemctl daemon-reload
sudo systemctl enable --now davmail.service
Check the status:
sudo systemctl status davmail.service
Expected output:
● davmail.service - DavMail Exchange Gateway
Loaded: loaded (/etc/systemd/system/davmail.service; enabled)
Active: active (running) since ...
Step 6.4: Handle Network Reconnects
If your machine roams between networks or VPNs, DavMail can time out after a reconnect. The fix is a NetworkManager dispatcher script that restarts DavMail when the network comes back up.
Enable the dispatcher service first:
sudo systemctl enable --now NetworkManager-dispatcher
Create the dispatcher script:
sudo nano /etc/NetworkManager/dispatcher.d/99-davmail
Add:
#!/bin/sh
interface=$1
status=$2
case $status in
up)
systemctl restart davmail
;;
down)
systemctl stop davmail
;;
esac
Make it executable:
sudo chmod a+x /etc/NetworkManager/dispatcher.d/99-davmail
DavMail now restarts automatically every time network connectivity is restored.
Step 6.5: View Live Service Logs
journalctl -u davmail.service -f
Step 7: Connect Your Email and Calendar Clients to DavMail
With DavMail running, every mail client connects to 127.0.0.1 on the configured ports. DavMail handles all Exchange communication transparently.
Mozilla Thunderbird
Use Manual Config when setting up the account:
| Setting | Value |
|---|---|
| Incoming Protocol | IMAP |
| Incoming Server | 127.0.0.1 |
| Incoming Port | 1143 |
| Outgoing Server | 127.0.0.1 |
| Outgoing Port | 1025 |
| Username | Your full email address |
| Connection Security | STARTTLS or None (localhost) |
For calendar (CalDAV): right-click in the Calendar panel, choose “New Calendar” > “On the Network” > “CalDAV”, and set the location to:
http://127.0.0.1:1080/users/you@company.com/calendar/
For contacts (CardDAV): add a remote address book pointing to:
http://127.0.0.1:1080/users/you@company.com/contacts/
GNOME Evolution
Add a new mail account with:
- Incoming: IMAP, server
127.0.0.1, port1143, STARTTLS - Outgoing: SMTP, server
127.0.0.1, port1025, STARTTLS - Username: Full email address
For calendar: New Calendar > CalDAV > URL http://127.0.0.1:1080/users/you@company.com/calendar/
Security note: SSL between your mail client and DavMail is optional since both run on localhost. DavMail always uses SSL/TLS for its outbound connection to Exchange or Office 365.
Troubleshooting Common Issues When You Install DavMail on Fedora 43
Even with careful setup, you will hit edge cases. Here are the five most common problems and their verified solutions.
Issue 1: davmail: command not found After Installation
Cause: The install failed silently, or your PATH does not include /usr/bin.
Fix:
which davmail
ls -la /usr/bin/davmail
If the binary is missing, reinstall:
sudo dnf reinstall davmail
Issue 2: Tray Icon Not Visible on GNOME
Cause: GNOME does not render legacy tray icons without an extension.
Fix: Install the “AppIndicator and KStatusNotifierItem Support” extension from extensions.gnome.org, then restart the GNOME shell. Alternatively, run DavMail in window mode:
davmail -notray
Issue 3: Java Version Conflict or ClassNotFoundException on Startup
Cause: Multiple Java installations; DavMail loads the wrong JVM.
Fix: Check which Java version is active and switch if needed:
sudo alternatives --config java
Set JAVA_HOME explicitly before starting DavMail:
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
davmail /etc/davmail/davmail.properties
Issue 4: Authentication Failure with Office 365
Cause: Your organization disabled Basic Auth on the O365 tenant.
Fix: Switch the connection mode in davmail.properties to use browser-based modern authentication:
davmail.mode=O365Interactive
Restart DavMail. It will open a browser window for the OAuth2 login flow on first connect.
Issue 5: Port Already in Use
Cause: Another service (commonly a local mail relay or another DavMail instance) occupies port 1025, 1143, or 1080.
Fix: Identify the conflict:
ss -tlnp | grep 1143
Change the conflicting port in davmail.properties to any unused port above 1024, then update your mail client configuration to match. For example:
davmail.imapPort=5001
davmail.smtpPort=5003
Congratulations! You have successfully installed DavMail. Thanks for using this tutorial for installing the DavMail on Fedora 43 Linux system. For additional help or useful information, we recommend you check the official DavMail website.