How To Install DavMail on Fedora 43

Install DavMail on Fedora 43

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.

Table of Contents

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 newer
  • O365Manual — token-based Office 365 auth without a browser popup
  • O365Interactive — browser-based modern OAuth2 login, required when MFA is enforced
  • OWA — 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 sudo privileges
  • 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/owa for 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 mode
  • davmail.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 starting
  • Restart=on-failure with RestartSec=30 — auto-recovers after crashes or network drops
  • PrivateTmp=yes and NoNewPrivileges=true — harden the service against privilege escalation
  • SuccessExitStatus=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, port 1143, STARTTLS
  • Outgoing: SMTP, server 127.0.0.1, port 1025, 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.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!
r00t is a dedicated and highly skilled Linux Systems Administrator with over a decade of progressive experience in designing, deploying, and maintaining enterprise-grade Linux infrastructure. His professional journey began in the telecommunications industry, where early exposure to Unix-based operating systems ignited a deep and enduring passion for open-source technologies and server administration.​ Throughout his career, r00t has demonstrated exceptional proficiency in managing large-scale Linux environments, overseeing more than 300 servers across development, staging, and production platforms while consistently achieving 99.9% system uptime. He holds advanced competencies in Red Hat Enterprise Linux (RHEL), Debian, and Ubuntu distributions, complemented by hands-on expertise in automation tools such as Ansible, Terraform, Bash scripting, and Python.

Related Posts