Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

wildduck

zone-eu1.2kEUPL-1.21.45.7

IMAP/POP3 server built with Node.js and MongoDB

imap, mail server

readme

WildDuck Mail Server

Wild Duck
WildDuck is a scalable no-SPOF IMAP/POP3 mail server.

gitter License

WildDuck uses a distributed database (sharded + replicated MongoDB) as a backend for storing all data, including emails.

WildDuck tries to follow Gmail in product design. If there's a decision to be made then usually the answer is to do whatever Gmail has done.

License

WildDuck Mail Server is licensed under the European Union Public License 1.2 or later.

WildDuck Mail Server is part of the Zone Mail Suite (ZMS). Suite of programs and modules for an efficient, fast and modern email server.

Copyright (c) 2024 Zone Media OÜ

changelog

Changelog

1.45.7 (2025-05-27)

Bug Fixes

  • api-listings-pagination: ZMS-225 Encode page in next and previous cursor (#818) (905b463)
  • bulk_batch_size-settingsHandler: in message handler add bulk_batch_size from settings (#806) (76f79fd)
  • moveAsync-addAsync: use moveAsync and addAsync directly where possible (#810) (4dcb602)
  • release-workflows: ZMS-214: Update release workflow. On release upload app bundle to release page (#808) (c604385)
  • ZMS 226 (#817) (bf878ed)
  • wdr-counter: ZMS-224: Count wdr counter after successful message sent not before (#816) (2f65911)

1.45.6 (2025-04-09)

Bug Fixes

  • addMessage-moveMessage-async-await: Rewrite addMessage, moveMessage to async/await ZMS-187 (#779) (d91f112)
  • autoreply-test: fix autoreply PUT test in case of high latency (#800) (edd9a5b)
  • messages-api-timeout: Add maxTimeMS timeout to mongopaging queries in messages api ZMS-204 (#799) (3c9aa2a)
  • moveAsync: ZMS-215: fix incorrect existsEntries and removeEntries clearing in updateMessage() (#803) (f0f35e1)
  • outbound-mta-relay: ZMS-171 Add support for an outbound MTA relay (#787) (77625e8)
  • readme-fixes: Readme fixes and changes ZMS-208 (#801) (04b2751)
  • settingsHandler-bulk_batch_size: ZMS-218: make BULK_BATCH_SIZE value configurable through settings API (#804) (730ee79)
  • ZMS-210 API and docs fallback values updates (#802) (5ce9989)

1.45.5 (2025-03-14)

Bug Fixes

  • Added thread data to EXPUNGE command (#783) (5ac345e)
  • api-getMessagesList: getMessages list, add attachmentsList to response for easier attachment handling ZMS-195 (#773) (959c707)
  • docker-latest workflow updates. Release workflow refactor, add latest tag on release ZMS-205 (#797) (e6f6920)
  • docker-workflows: update workflows to only push to GHCR (#793) (a6de121)
  • fixed edge case where session not set and uncaught exception occurs (#780) (8244559)
  • general-docs-docker: fix docker general documentation ZMS-197 (#774) (284ba63)
  • thread-info-expunge-moveTo: Added thread information to EXPUNGE message called after MoveTo action (#788) (08c5804)
  • Update all urls in all files to point to new repo url. ZMS-180 (#791) (37a686d)
  • update and fix docker workflows (#794) (7e77db7)

1.45.4 (2025-01-13)

Bug Fixes

  • docs-client-gen: add more readable operationId and response types, fix deps ZMS-188 (#759) (978ce06)
  • encrypted-mailboxes: Add functionality of singular encrypted mailboxes ZMS-181 (#758) (17bca3e)
  • imap-indexer: fix fileContentHash error in imap indexer, check for attachmentInfo beforehand ZMS-186 (#756) (7daa0e3)
  • imap-socket-hang: When allocating IMAP connection, check if socket is still alive ZMS-196 (#772) (8feae38)

1.45.3 (2024-11-05)

Bug Fixes

  • bimi: Added 'type' for BIMI information schema (61f03dc)

1.45.2 (2024-11-05)

Bug Fixes

  • deps: Upgraded mailauth for BIMI CMC support (20f8e9a)
  • IMAP: Use a non-round number for socket timeout to decrease race conditions where both the server and the client wait for the same time (686cd86)

1.45.1 (2024-10-28)

Bug Fixes

  • api-attachment: Calculate file content hash when uploading attachment ZMS-172 (#733) (8730ed5)
  • api-auth: /preauth and /authenticate endpoints also return the default address of an user ZMS-175 (#738) (6dac6ae)
  • api-generation: remove "version" from apigeneration.json ZMS-160 (#729) (971a0f1)
  • api-graylog-req: Do not use util.inspect if value already string ZMS-174 (#736) (1a12b03)
  • api&imap-mailboxes: Added mailbox subpath and whole path max length limits to API and IMAP ZMS-169 (#732) (ee870b9)
  • deps: Replaced uuid dependency with crypto.randomUUID (d462b5a)
  • dockerfile: Use JSON array for CMD (6d7d47e)
  • handler-filter: Filter handler response includes file content sha256 hash ZMS-176 (#739) (37374be)
  • idle: Fixed IDLE bug with Outlook (f2c8545)
  • log: Log validation information if command schema validation fails (1354bf0)
  • push docker containers to GHCR too (#746) (2a1b34a)
  • quering for range ZMS-182 (#742) (3804bea)
  • readme-copyright: Add copyright ZMS-180 (#744) (6542e5b)
  • typos: fixed typos ZMS-167 (#740) (36fcabc)

1.45.0 (2024-08-01)

Features

Bug Fixes

  • fixed XAPPLEPUSHSERVICE command (needs to return topic) (#719) (ba0258f)
  • lib-filter: ZMS-161 (#718) (f32dc14)

1.44.0 (2024-07-29)

Features

Bug Fixes

  • api-addresses: Main isn't required when updating an address (#695) (c9188b3)
  • api-all: Fixes to some API endpoint request and/or response types and schemas ZMS-157 (#691) (836ca26)
  • api-all: Replaced old documentation with new, autogenerated, one ZMS-154 (#693) (753997f)
  • api-endpoints: public_get and acme endpoints excluded from api docs generation ZMS-156 (#688) (cc832b2)
  • api-req_end: req_end issue fix ZMS-147 (#681) (ca57ea4)
  • api-submit: Fix submit.js mailboxId and reference request fields ZMS-158 (#690) (37b6793)
  • api-users-updates: added users/updates api endpoint to api docs generation ZMS-155 (#687) (490b4e5)
  • api-webhooks: added all webhook api endpoints to api docs generation ZMS-153 (#686) (e9abf85)
  • deps: Bumped deps to clear out some security warnings (aacf132)
  • fixed callback invocations to check if session already closed (#705) (d06071b)
  • fixed edge cases when session could be null (#699) (a68725d)

1.43.3 (2024-05-02)

Bug Fixes

  • api-storage: Added all storage endpoints to API docs generation ZMS-149 (#675) (8e9af88)
  • autsni: Fixed garbage collection for unfinished certificates (5bf6c86)

1.43.2 (2024-04-29)

Bug Fixes

  • SNI: do not use the default db for SNI (a6c53eb)

1.43.1 (2024-04-29)

Bug Fixes

  • api-submit: Added submission api endpoint to api docs generation (#676) (82133df)
  • SNI: disable SNI certificate autogeneration by default (ecbdc9b)

1.43.0 (2024-04-29)

Features

  • autoacme: Allow setting up automatic ACME certificate generation (cd8596a)
  • SNI: Autogenerate TLS certificates for SNI (40db519)

Bug Fixes

  • SNI: delete expired autogenerated SNI certificate (61c03e1)

1.42.6 (2024-04-22)

Bug Fixes

  • api-ApplicationPassword: Added all ApplicationPasswords API endpoints to API docs generation ZMS-136 (#645) (9f9c55a)
  • api-audit: Added all Audit API endpoints to API docs generation ZMS-135 (#642) (b9e3f94)
  • api-certs: Certs API endpoints added to API docs generation ZMS-141 (#663) (f55ddea)
  • api-dkim: Fix empty p value in dnsText.value if no private key initially given ZMS-142 (#664) (d983477)
  • api-domainaccess: Added all DomainAccess endpoints to api docs generation ZMS-144 (#670) (c846b66)
  • api-generate: API docs generation now is run through a separate npm command ZMS-139 (#659) (6548f3c)
  • api-messages-attachment-download: is sendAsString param is set, and is set to true then decode the original file and send back as UTF-8 ZMS-134 (#655) (1f27778)
  • api-messages-intro: Take intro from HTML if possible ZMS-112 (#672) (9d9fbd2)
  • api-messages: Added all messages endpoints to api docs generation ZMS-140 (#666) (6e251c5)
  • api-messages: messages fix response types (#673) (16c6fb8)
  • api-settings: Added all Settings API endpoints to API docs generation ZMS-145 (#671) (02a43c6)
  • deps: Bumped deps (2d0e920)

1.42.5 (2024-03-14)

Bug Fixes

  • roles: Added new role 'downloader' that can download any email (4dbc5c5)

1.42.4 (2024-03-14)

Bug Fixes

  • deploy: Fixed package-lock for release (d57a397)

1.42.3 (2024-03-14)

Bug Fixes

  • api-autoreplies: Added logging to graylog. Autoreply docs have a created field now ZMS-127 (#633) (f6f5f5e)
  • api-domainaliases: Added DomainAliases API endpoints to API docs generation ZMS-132 (#641) (5af8126)
  • api-generation: api generation package now uses WIldduck Joi and does not depend on fixed joi version ZMS-126 (#639) (9f704f7)
  • api-quota: Quota reset now also logs storage diff. Log now includes zero valued fields ZMS-128 (#640) (64c6b5e)
  • move: Extend move operaiton lock automatically (b1ba513)
  • move: Increase lock time for moving messages (b7f0aa6)
  • password-hash: Rehash pbkdf2 if required iterations count increases (3b7f28c)
  • password-hash: Update PBKDF2 iteration count to more closely align with OWASP recommendations (#648) (46654da)

1.42.2 (2024-02-26)

Bug Fixes

  • api-2fa: Added 2FA API endpoints to API docs generation ZMS-124 (#626) (0efae19)
  • api-addresses: Fix tags typo in addresses.js (#627) (7e9e62e)
  • api-autoreply: Autoreply API endpoints added to API docs generation ZMS-130 (#632) (aa60ef9)
  • api-dkim: Add all DKIM API endpoints to API docs generation ZMS-129 (#630) (78a9e1b)
  • api-dkim: DKIM now supports ED25519 keys, both in PEM and raw format as input ZMS-125 (#617) (3d7d0a6)
  • api-filters: Filter creation is now logged to graylog and authlog ZMS-34 (#616) (6f0e4b5)
  • git: Changed git: url in install script to https: (#610) (5019cf1)
  • imap-starttls: define SNICallback only when insecure (closes #635) (#637) (4b19dee)
  • pop3-starttls: ensure default SNICallback option (f61111e)

1.42.1 (2024-02-07)

Bug Fixes

  • api-filters: Add Filters API endpoints to API docs generation ZMS-121 (#611) (95f829d)
  • api-generate: Move API generation code into separate package and use it ZMS-119 (#613) (c7a1ab4)
  • deps: downgraded joi to fix conflict with restifyapigenerate (6724ec9)

1.42.0 (2024-02-05)

Features

  • api-addresses: ZMS-115 (#608) (85e09ec)
  • api-health: Added /health endpoint to check Wildduck API health during runtime ZMS-120 (#607) (84ab0c0)
  • api-mailboxes: Mailboxes API endpoints added to automatic API docs generation ZMS-114 (#602) (76d0e8f)
  • api-search: Allow searching for messages by uid (#587) (a4ae3d7)
  • api-upload: Allow to upload a draft message with incorrect (non-emal) to addresses ZMS-117 (#595) (8b7f6c9)
  • upload: ZMS-111 (#584) (6bdeeaa)

Bug Fixes

  • api-docs: Fix openapi.yaml so it passes schema validation (#588) (4a4fb2f)
  • api-docs: Fixed requestBody in API docs ZMS-118 (#593) (fae91d1)
  • api-search: Fixed or query. Fixes #592 (4336554)
  • api: header.key and header.value not required ZMS-116 (#582) (29cffe0)
  • deps: bumped deps to upgrade mailauth for fixed ed25519 DKIM support (857e4c0)
  • docs: /users API docs ZMS-110 (#575) (a15878c)
  • journal-parse: Improve idle CPU performance ZMS-109 (#597) (5721047)
  • message-threading: Take non-standard but conventional subject prefixes into account (#605) (816114f)
  • pop3: if connection is closed during authentication, then do not process the response. Fixes #596 (eecb31a)

1.41.3 (2023-12-19)

Bug Fixes

  • api: Remove unnecessary required() that brakes the e-mail send (#580) (d80ba77)

1.41.2 (2023-12-15)

Bug Fixes

  • upload: allow empty name field in the Upload message FROM: header ZMS-113 (#577) (c1e28db)

1.41.1 (2023-12-14)

Bug Fixes

  • defer: Added new setting const:sender:defer_times ZMS 63 (#574) (9aab242)
  • mime-parsing: ensure that text content for multipart nodes always ends with a newline. Fixes #571 (6f4994d)

1.41.0 (2023-11-30)

Features

  • apidocs: Autogenerate OpenAPI docs ZMS-100 (#552) (ea24b93)
  • docs: ZMS-[9x] Automatic API generation (#535) (c1cc143)
  • mailbox-count-limit: Set a limit for maximum number of mailbox folders ZMS-93 (#542) (779bb11)

Bug Fixes

  • addressregister: Do not add no-reply addresses to the addressregister ZMS-99 (#551) (be24af0)
  • audit: Fixed find() query for expired audits (#547) (48b9efb)
  • docs: Added support for enums ZMS-104 (#565) (28bdc76)
  • docs: Fixed descriptions ZMS-101 (#553) (3c9e175)
  • imap-search: rename headerdate to date (closes #560) (#561) (fd98244)
  • imap: fixed string conversion to utf8 vs binary (closes #563) (#564) (ee2708e)
  • mailbox-create: Use correct database for loading User data when creating mailboxes (#550) (4434cb5)

1.40.10 (2023-10-16)

Bug Fixes

  • api-filters: Return valid action.mailbox value for a filter object (c00cc02)
  • attachments: Added contentDisposition property for attachments (292bbc2)
  • imapconnection: inherit logger and loggelf from server for IMAPConnection (#533) (667f992)

1.40.9 (2023-10-09)

Bug Fixes

  • deps: Bumped nodemailer to force embedded images to content-disposition:inline (1fee80e)

1.40.8 (2023-10-05)

Bug Fixes

  • docker: moved docker release workflow under release workflow (2641c7e)

1.40.7 (2023-10-05)

Bug Fixes

  • docker: moved docker release workflow under release workflow (64be636)

1.40.6 (2023-10-05)

Bug Fixes

  • docker: moved docker release workflow under release workflow (8db8d21)

1.40.5 (2023-10-05)

Bug Fixes

  • docker: moved docker release workflow under release workflow (efbe0dd)

1.40.4 (2023-10-05)

Bug Fixes

  • package: fixed breaking package lock file (c008191)

1.40.3 (2023-10-05)

Bug Fixes

  • docker: trying to get release building working (761f5fa)

1.40.2 (2023-10-05)

Bug Fixes

  • fixed typo validateSequnce > validateSequence (closes #518) (#520) (8766ab9)
  • pop3: run socket.destroy() if pop3 socket is not closed in 1.5s (2de6c0b)

1.40.1 (2023-10-04)

Bug Fixes

  • debug: replaced SIGPIPE with SIGHUP to generate snapshots (7a30ed7)
  • sending: Do not count sending limits twice (#505) (b9349f6)

1.40.0 (2023-09-28)

Features

  • storage: Added cid property to storage files (#502) (80797ee)

Bug Fixes

  • index: removed unneeded related_attachments index (81ec8ca)
  • test: Added POST storage test (#492) (1c17f5f)

1.39.15 (2023-09-05)

Bug Fixes

  • ci: Added NPM release workflow (f4cdbb2)
  • ci: Added NPM release workflow (326ed59)
  • release: Added package-lock required for pubslishing (6b42cc5)
  • release: updated repo url for automatic publishing (48ce200)