v0.0.10
版本发布时间: 2024-03-10 03:29:42
mjl-/mox最新发布版本:v0.0.11(2024-05-01 03:38:14)
New features
- Implement SMTP "FUTURERELEASE" extension in SMTP server. For submitting a message for delivery from the queue at a time in the future, e.g. tomorrow morning 9:00. (93c52b01a02d)
- Delivery from the queue to multiple recipients in a single SMTP transaction, transferring data only once. This is only done for recipients with the same recipient domain. The maximum recipients limit from the RFC 9422 SMTP LIMITS is honored and mox now announces its own limit. (47ebfa81526c)
- Allow configuring DNS blocklists (DNSBLs) only for monitoring, without using them for incoming email. Previously, mox would only monitor DNSBLs that are used for incoming connections. But it is useful to know if your IPs are on a blocklist, unrelated to whether you're using the blocklist. (15e450df6117)
Improvements
- Mox has a separate website now, https://www.xmox.nl. It should be more friendly for first-time visitors than the github page. It also has an initial video, with more to come. Content, except images/videos, is in the mox git repository, so functionality and documentation can be changed together. (0bc30729440c)
- Fix interpreting a per-account negative total size quota as "no limit", overriding the global/default setting. (issue #115 by pmarini-nc)
- Webmail: When Q/B-word-decoding attachment filenames, recognize more character set encodings. (issue #113 by jsfan3)
- Webmail: show unicode for internationalized email addresses by default. Not the xn-- names, which are not user-friendly. A hover still shows the xn-- names. After talking to arnt at FOSDEM.
- Localparts of addresses are now normalized to Unicode NFC throughout mox, including for incoming deliveries. Previously, incoming SMTPUTF8 deliveries with non-NFC-normalized unicode localparts (e.g. with separate code points for accents and such (NFD)) would not be accepted. (8e6fe7459b6f)
- The PRECIS (RFC 8265) password profile is now applied when setting/using passwords. It prevents confusing users who use unusual unicode whitespace codepoints in their passwords. (c57aeac7f09e)
- Webmail: Implement registering "mailto:" links. Click the new button in the Help popup to register. From Hans-Jörg. (ee1db2dde705)
- In DSNs, show the full (multiline) SMTP response, not just the first line. It often has helpful details. (50c13965a72b)
- More DSN improvements: put the full SMTP reply in field Diagnostic-Code (1c934f0103d5), when delivering a local DSN add Delivered-To header (79da4faaa1e7), when parsing an incoming DSN set the Action field (e.g. failed, delayed) (f6497b1aaf65), match DSN to threads based on Referenced/In-Reply-To only, not subject (13923e4b7bfe).
- In quickstart and self-check, improve the check whether resolver verifies DSNSEC. We were looking up NS on ".", but some DNSSEC-verifying resolvers respond to that with unauthentic data. (issue #139 by triatic)
- More helpful instructions about setting up a DNSSEC-verifying resolver, and how to test it. (issue #131 by romner-set)
- Relevant for reusable components: the "slog" package from golang.org/x/exp is now replaced with slog from the standard library. Function signatures have changed. (d1b87cdb0da1)
Bug fixes
- smtpserver: Spurious \r were sometimes injected when fixing up crlf line
endings for incoming messages. The check could look at wrong a buffer,
seemingly randomly incorrectly concluding a \r was missing before a \n.
Messages with the extra \r added shouldn't cause any trouble.
You can find these messages with
grep -rn $'\r\r$' data/accounts/$youraccount/msg/
, remove one \r manually and runmox fixmsgsize $youraccount
to reparse the message. (issue #117, by haraldrudell) - Deliveries could seemingly randomly but consistencly fail with an incorrect diagnostic about the message containing a bare newline. It would happy due to crlf handling around buffer starts/ends. (issue #129 by x8x)
- When adding a message to the queue for delivery, set the correct local account, so DSNs about delivery failures go to the correct user, not the postmaster account. (dc83ad1df559)
- imapserver: In a sequence/uid pattern, the "*" would in some cases be interpreted as the first message, but it should always be the last message in a mailbox. (14aa85482e0e).
- Fix displaying DMARC reports with empty values for some fields. The TypeScript checks would reject them for being invalid enums, empty strings are now part of the enum. (20812dcf62af)
- In outgoing TLS reports, always use DNS ASCII A-labels, not unicode U-labels. (62be829df078)
- For domains configured only for TLS/DMARC reporting, don't reject messages to that domain during submission, but deliver them as normal. (1d9e80fd7059)
- smtpclient: Treat server's size limit of SIZE=0 as "no limit", instead of failing to deliver. (39bfa4338a12)
- Accept TLS reports that reference multiple domains, and that mix reports about hosts and recipient domains. (e0c36edb8f1b)
- Admin: Prevent writing out an invalid domains.conf that cannot be parsed again. Happened when the last address of an account was removed through the admin web interface. (issue #133 by ally9335)
- Webmail: sending to invalid addresses could result in (failing) attempts to an empty address instead of returning an error message to the user. (63cef8e3a59b)
Update instructions
Before upgrading, do a dry-run first.
- Make a temporary backup with the old mox version:
mox-v0.0.9 backup data/tmp/testupgrade
- Verify that all is well with the old version:
mox-v0.0.9 verifydata data/tmp/testupgrade
- Verify the state with the new version:
mox-v0.0.10 verifydata data/tmp/testupgrade
With a successful dry-run, the upgrade should go smoothly. Make a new backup
with mox-v0.0.9 backup data/tmp/backup
(the previous backup was modified by
the dry-run, so couldn't be used to restore!), replace the binary and restart.
For further details, see
https://www.xmox.nl/faq/#hdr-how-do-i-upgrade-my-mox-installation
If you run into any problems, please create a bug report.
Thanks
Thanks for contributions and/or feedback from: haraldrudell, x8x, romner-set, triatic, mteege, Hans-Jörg, arnt, jsfan3, pmarini-nc, ArnoSen, andreasheil, theduke, daluntw, lmeunier, ally9335, p-rintz, daftaupe (and everyone at the FOSDEM email devroom, and all those I missed).
Feedback, feature requests, bug reports, contributions (start small!) are all welcome. An easy way to help mox is to use it and spread the word!
Development on mox is funded through the NLnet NGI0 Entrust Fund, https://nlnet.nl/entrust/, with financial support from the European Commission's Next Generation Internet programme.