Now, as reported by Linuxiac and detailed in project maintainer Mickaël Guessant's release announcement on SourceForge, DavMail 7.1 (specifically build 7.1.0-4498) has arrived. Following closely on the heels of September's 7.0 release, version 7.1 is a maintenance update that tightens Microsoft Graph API integration, resolves stubborn calendar synchronization quirks, expands IMAP protocol compliance, and introduces built-in self-signed TLS certificate generation.
Why the urgent push around Microsoft Graph? According to the official DavMail project roadmap, Microsoft's September 2026 deprecation of Exchange Web Services (EWS) has made completing the Graph backend the primary focus for current releases, even while EWS remains usable for on-premises Exchange servers and Office 365 tenants where EWSEnabled is explicitly forced to true. If your workstation relies on DavMail to bridge third-party apps to a Microsoft 365 mailbox, this release directly targets the rough edges of that transition.
Overhauling Microsoft Graph Integration and Authentication
When an enterprise mail gateway shifts its underlying plumbing from legacy EWS to the Microsoft Graph API, the little things—like looking up a coworker's email address or surviving a brief network hiccup—suddenly require brand-new logic. DavMail 7.1 focuses heavily on making its O365Graph mode behave more predictably under real-world corporate workloads.
- Native People Search for the Global Address List (GAL): Previously, DavMail relied on a clunky legacy A–Z lookup method to query the Exchange Global Address List over Graph. Version 7.1 replaces that approach with Graph's native people search API. According to the project's release notes, this cuts down on redundant API calls, aligns the
galFindresult size limit with the LDAP size limit, and restricts Graph queries strictly to the Directory source so results do not duplicate personal contacts already returned separately by DavMail's LDAP layer. - Interim Exchange Online Archive Support: One notable addition in 7.1 is an interim workaround enabling access to Exchange Online Archive mailboxes in
O365Graphmode (addressing GitHub issue #556). Because the maintainer characterizes this as an interim fix—and the project's roadmap page still lists full Exchange Online Archive support as pending Graph capabilities—administrators should treat this as a targeted bridge rather than a guarantee that every archive edge case is solved. - Smarter Token Validation and EWS-to-Graph Transitions: Switching an existing profile from EWS to Graph could previously leave DavMail tripping over stale credentials. Version 7.1 checks authentication tokens before returning a session, forces an
isExpiredvalidation check upon session creation, and detects invalid tokens left behind after an EWS-to-Graph switch to clear the stored refresh token. Additionally, thecheckConfigroutine now tests connectivity against the Graph endpoint rather than the legacy EWS endpoint, and refresh token requests properly target the Outlook resource whenenableOidcis set tofalse. - Throttling Resilience and "Thundering Herd" Prevention: Microsoft 365 is notoriously strict about rate-limiting noisy clients. DavMail 7.1 improves its
handleThrottlinglogic to automatically retry transient Graph endpoint errors and adds randomized retry delays. That randomization is a classic systems-engineering safeguard: if a brief cloud outage or tenant throttle hits dozens of gateway sessions at once, staggered retries prevent them from hammering the API in lockstep the second the timer expires. - Clean Deletions Over IMAP: The update also works around a Microsoft Graph quirk where attempting to delete an already-removed mail item returned a
403 Forbiddenerror, which previously caused DavMail to abruptly close the IMAP connection.
Section Summary: DavMail 7.1 matures the Microsoft Graph backend by replacing legacy A–Z directory scraping with native people search, introducing an interim workaround for Exchange Online Archive mailboxes, hardening OAuth/OIDC token validation during backend migrations, and using randomized retry delays to survive cloud throttling.
Calendar, Recurrence, and EWS Refinements
If email is comparatively straightforward to translate, enterprise calendaring is a minefield of time zones, recurring meeting exceptions, and phantom duplicates. Both the Graph and traditional EWS backends receive substantial calendar surgery in DavMail 7.1.
Fixing Duplicate Events and Time Zones in Graph
In earlier Graph builds, users reported that Microsoft's transactionId property was not always unique (GitHub issue #522), leading to duplicate calendar entries. DavMail 7.1 re-implements the tried-and-true EWS approach based on calendaruid while keeping transactionId as a backup safeguard to block duplicate creation over Graph. When calendars fall out of sync, DavMail now fetches events by iCalUid as a recovery workaround.
Time zones and recurring appointments also behave much more predictably:
- Recurrence Boundaries: The recurrence
UNTILvalue now uses the timezone already established inDTSTART—matching the original event's timezone rather than converting to the local user's timezone (issue #549). - Canceled Meetings: DavMail now checks the
isCancelledproperty on Graph events and properly sets the CalDAV status toCANCELLEDon the specific occurrence. Over both Graph and EWS, the CalDAV layer will no longer fail when encountering a missing occurrence ID, recognizing that it may simply represent a canceled meeting instance. - Metadata and Teams Links: The Graph connector now maps
X-MICROSOFT-SKYPETEAMSMEETINGURLfrom theonlineMeetingjoinUrlproperty, preserves hyperlinkhreftargets when converting HTML bodies to plain text, uses the native Graph field for event sensitivity (CLASS) instead of a legacy MAPI property, and fetchesPidLidOwnerCriticalChangeto get accurate meeting owner timestamps. - Auto-Scheduling: Rather than polling the Inbox for event messages over Graph, DavMail 7.1 relies on Microsoft 365 to handle automatic scheduling natively.
Traditional Exchange Web Services (EWS) Updates
For organizations running on-premises Exchange or tenants with EWS still active, DavMail 7.1 adds dedicated diagnostic and scheduling fixes:
- EWS Disabled Detection: The gateway now explicitly detects when EWS has been disabled on a tenant, sparing users from cryptic connection timeouts.
- Room Booking and Recurrences: Both Graph and EWS gain room-booking handling. On the EWS side, this is built around the
Resourcescollection andcutype(makingroomthe defaultCUTYPEon attendee resources). EWS also rebuilds recurring appointment occurrences directly from occurrence items rather than trusting Exchange to properly update MIME content. - Timezone Failover and XML Sanitization: EWS fetches
startTimeZoneas a failover when a localizedtzidis missing from DavMail's internal timezones map, filters out null characters (�and�) from XML responses, avoids sending unnecessaryChangeKeyvalues inSavedItemFolderId(which could triggerErrorCannotCreateContactInNonContactFolderorErrorCannotCreateCalendarItemInNonCalendarFolder), and begins deprecatingdavmail.caldavAutoSchedulesince Exchange handles scheduling automatically. - On-Premises Authentication: When connecting to on-premises Exchange servers that offer both Basic and NTLM authentication, DavMail 7.1 now prefers NTLM over Basic.
Section Summary: Whether connecting via Graph or legacy EWS, version 7.1 eliminates major calendar headaches by anchoring recurring UNTIL dates to the event's original timezone, preventing duplicate appointments via calendaruid, supporting conference room booking, and gracefully handling canceled meeting occurrences.
IMAP, CalDAV, and Network Resilience
On the client-facing side of the gateway, desktop applications like Thunderbird and macOS apps expect strict adherence to internet RFCs. DavMail 7.1 closes several protocol gaps that previously caused hung connections or out-of-sync folders.
| Protocol / Component | Key Changes in DavMail 7.1.0-4498 | Practical Impact for Users |
|---|---|---|
| IMAP | Implements UID EXPUNGE and UNKEYWORD; aligns SINCE, BEFORE, and ON searches with RFC 3501 INTERNALDATE. | Faster, standards-compliant message purging, tag removal, and accurate date-based mail filtering. |
| IMAP Connections | Forces refresh on MOVE to send EXPUNGE notifications; fixes infinite wait loop in IDLE on client disconnect; sends * BYE instead of * BAD on network down or UnknownHostException. | Eliminates zombie IMAP sessions after sleep/disconnects and ensures moved emails disappear promptly from the source folder. |
| CalDAV & Contacts | Refactors ICSBufferedWriter to remove recursion; drops invalid characters in ICSCalendarValidator; fixes alarm invalid duration values; forces old vCard 3 content for macOS 27 Contacts. | Prevents stack overflow crashes on very long ICS lines, quiets Thunderbird CalDAV probing warnings, and maintains address book compatibility. |
| SWT & System Tray | Fixes display initialization race condition and resolves a deadlock in switchIcon and resetIcon using asyncExec. | Stops the desktop GUI tray icon from freezing on Windows and Linux systems. |
Section Summary: By adding UID EXPUNGE, UNKEYWORD, and strict RFC 3501 INTERNALDATE search alignment alongside fixes for stuck IDLE loops and SWT tray deadlocks, DavMail 7.1 makes daily IMAP and CalDAV client operations noticeably sturdier.
Built-In TLS Certificate Generation and Windows Deployment
Securing local or LAN-hosted gateway traffic between your mail client and DavMail with TLS has historically required firing up external tools like keytool or OpenSSL to mint a certificate. DavMail 7.1 streamlines this setup by building self-signed PKCS#12 certificate generation directly into the application.
Administrators and power users can generate a certificate in two ways:
- Via the GUI: Click the new Generate certificate button directly inside the DavMail settings window.
- Via the Command Line: Run DavMail with the new
-generateCertcommand-line option, which is ideal for headless servers or scripted deployments.
Keep in mind that because these generated PKCS#12 certificates are self-signed, you will still need to configure your mail client to trust the certificate or add an exception when connecting over TLS.
Packaging Notes for Windows, Linux, and macOS
According to the project's SourceForge file repository and GitHub documentation, DavMail 7.1.0-4498 is available across all major desktop platforms:
- Windows: Available as a 64-bit installer (
davmail-7.1.0-4498-setup64.exe, 78.1 MB) or a standalone archive (davmail-7.1.0-4498-windows-standalone.zip, 77.9 MB). Both Windows packages bundle an embedded Java Runtime Environment (JRE), meaning Windows 10 and Windows 11 users can install and run the gateway immediately without managing a separate Java installation. This release also reverts an unintended change in thewinrun4jconfiguration. - Linux & Platform-Independent: Available as a Debian package (
davmail_7.1.0-4498-1_all.deb, 6.9 MB, which depends on OpenJDK) and a platform-independent binary archive (davmail-7.1.0-4498.zip, 6.5 MB). - macOS: Distributed as
DavMail-MacOSX-7.1.0-4498.app.zip(6.5 MB), where the project notes Azul JDK is preferred.
For Windows power users and mixed-OS enterprise environments navigating the post-EWS era, DavMail 7.1 is a strongly recommended upgrade that keeps standard IMAP and CalDAV workflows running smoothly against Microsoft 365.
References
- DavMail 7.1 Exchange Gateway Improves Microsoft 365 and IMAP Support - Linuxiac Linuxiac · 2026-10-18T17:53:10+00:00
- GitHub - mguessan/davmail: DavMail POP/IMAP/SMTP/CalDAV/CardDAV/LDAP Exchange and Office 365 Gateway - Synced with main subversion repository at · GitHub github.com
- (Davmail-users) DavMail 7.1.0 released | DavMail POP/IMAP/SMTP/Caldav to Exchange sourceforge.net