Bot releases are hidden (Show)
grep -rn $'\r\r$' data/accounts/$youraccount/msg/
,mox fixmsgsize $youraccount
toBefore upgrading, do a dry-run first.
mox-v0.0.9 backup data/tmp/testupgrade
mox-v0.0.9 verifydata data/tmp/testupgrade
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 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.
Published by mjl- 9 months ago
mail.<domain>
CNAME for the SMTP (submission) and IMAP servers of aBefore upgrading, do a dry-run first.
mox-v0.0.8 backup data/tmp/testupgrade
mox-v0.0.8 verifydata data/tmp/testupgrade
mox-v0.0.9 verifydata data/tmp/testupgrade
With a successful dry-run, the upgrade should go smoothly. Make a new backup
with mox-v0.0.8 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://github.com/mjl-/mox#how-do-i-upgrade-my-mox-installation
If you run into any problems, please create a bug report.
After upgrading, you may want to:
ClientSettingsDomain: mail.<yourdomain>
to each domain in domains.conf,Thanks for contributions and/or feedback from: Fell, duesee (and
https://github.com/duesee/imap-flow/), daftaupe, naturalethic, jsfan3, Halyul,
mattfbacon, jsaponara, pmarini (and 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.
Published by mjl- 11 months ago
New features:
Improvements:
Bug fixes:
Update instructions:
Before upgrading, you should do a dry-run first:
With a successful dry-run, the upgrade should go smoothly. Make a new backup
with mox-v0.0.7 backup data/tmp/backup
(the previous backup used for the
dry-run has been modified, so couldn't be used to restore!), replace the binary
and restart.
If you are upgrading from v0.0.6, see its upgrade instructions for commands to
execute. It's better to immediately upgrade to v0.0.8 (see issue #71).
If you run into any problems, please create an issue.
After upgrading, you may want to configure DANE:
To make use of DANE for outbound deliveries, make sure you have a
trusted DNSSEC-verifying stub resolver. Unbound is recommended. Don't
use systemd-resolved, its DNSSEC support is not ready for use.
To make use of DANE for inbound deliveries, first make sure your
DNS records are DNSSEC signed, and your DNS operator supports TLSA
records. The SMTP TLS private keys ("host keys) should be added to
the TLS section of the "public" listener in mox.conf. If you use ACME
(e.g. with Let's Encrypt), you will want to use the private keys of
existing certificates. Run "mox config ensureacmehostprivatekeys"
to find existing or generate new private keys, and print the config
snippets you'll have to apply to mox.conf.
You may want to update your autodiscovery DNS record. See the "DNS check"
admin page or run "mox config dnscheck ".
Thanks:
Thanks for contributions and/or feedback from: taavi, naturalethic,
mattfbacon, duesee, mpldr, richard g, ArnoSen (and those I missed).
Feedback, requests, bug reports, contributions (start small!) are all welcome.
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.
To download, see https://github.com/mjl-/mox#download
version: v0.0.7
date: 2023-09-24
Update instructions:
Due to a bug with "expunging" (deleting) messages that were
junk-filter-trained, messages that were removed from disk could be resurrected,
causing errors when mox would later try to open such messages again. Before
upgrading, you should first check and resolve this problem:
Now with the storage consistency resolved, you can start with the upgrade. Mox
v0.0.7 adds message threading, and all messages will be read and assigned a
message thread. This is done in the background, in two steps, and may take a
while. The first step adds Message-ID and a "thread base subject" to each
message in the database. The second step reads through all messages and uses
their References/In-Reply-To/Subject message headers to match threads. In
testing, upgrading took approximately 1 minute per 100k messages, but it will
depend on the hardware. Accounts are available for reading and delivery during
the upgrade, but the webmail may tell you that threading is not yet available.
You should do a dry-run of the upgrade first:
With a successful dry-run, the upgrade should go smoothly. Make a new backup
with mox-v0.0.6 backup data/tmp/backup
(the previous backup used for the
dry-run has been modified, so couldn't be used to restore!), replace the binary
and restart.
After the upgrade, any accounts affected by the "missing file" problem should
get their "uid validity" increased, so IMAP clients will resynchronize. Run
"mox-v0.0.7 bumpuidvalidity " for each affected account. The change is
made directly in the database file, so no IMAP/webmail sessions should be
active for the account. If any sessions are active, the database file is locked
and "bumpuidvalidity" will print a timeout error. Briefly shutting down mox is
an option, the bumpuidvalidity command operates quickly.
Apologies for the inconvenience, mox aims to make administrating a mail server
easier than this.
If you run into any problems, please create an issue.
New features:
Improvements:
Bug fixes:
Special thanks for contributions and/or feedback from: x8x, gimpf, kikoreis,
pmarini, fairking, gedw99, hmfaysal (and those I missed).
Feedback, requests, bug reports, contributions (start small!) are all welcome.
Good news: Mox is now being funded for a year of continued development through
the NGI0 Entrust Fund, a fund established by NLnet with financial support from
the European Commission's Next Generation Internet programme,
https://nlnet.nl/project/Mox/!
Published by mjl- about 1 year ago
Update instructions:
Make a backup, replace the binary and restart.
After the upgrade, the first time an account is opened with this new version,
new message indexes are created and mailbox message count statistics are
calculated. For large mailboxes, the time and memory this takes can be
noticable. The upgrade tests take about 15 seconds on 570k messages on a
thinkpad x1 from 2018, and run with a max memory data size of 768MB.
Don't forget to make a backup of the data directory with your currently running
mox before upgrading (e.g. "mox-v0.0.5 backup data/tmp/backup"). You can
dry-run the upgrade by making a separate backup ("mox-v0.0.5 backup
data/tmp/testupgrade") and running the "verifydata" command with the new mox
version ("mox-v0.0.6 verifydata data/tmp/testupgrade"). Running "verifydata"
with a newer mox will make changes to the database files, so don't run it on a
backup you may need to restore.
It is recommended to run the new "mox reparse" command after upgrading. It will
reparse all messages with the improved message parsing code.
For existing installations, the new webmail must be enabled manually in mox.conf
with config options "WebmailHTTP" and/or "WebmailHTTPS", similar to
"AccountHTTP(s)". See the example config printed by "mox config
describe-static".
If you are forwarding email to an address hosted with mox, you may want to
configure the new "IsForward" and possibly "AcceptRejectsToMailbox" options in
a delivery ruleset for better junk handling/analysis.
If your mox is behind a NAT, and your mox.conf uses config option IPsNATed, you
should switch to new config option NATIPs, and specify the public IPs that are
NATed.
New features:
Improvements:
Bug fixes:
Special thanks for contributions and/or feedback from: Mendel, bobobo1618,
hmfaysal, x8x, kikoreis, gerben, andrii, liesbeth, morki, gedw99 and everyone I
forgot. More feedback/bug reports welcome!
To download, see https://github.com/mjl-/mox#download
Published by mjl- over 1 year ago
v0.0.5
Update instructions: No special steps required other than updating the binary.
Fixes/Improvements:
New features:
Thanks to all who provided feedback, bug reports, patches. You've helped mox
become a better mail server!
To download, see https://github.com/mjl-/mox#download
Published by mjl- over 1 year ago
Update instructions: No special steps required other than updating the binary.
Changes:
Thanks for the feedback, issues and PR's you sent in.
naturalethic, 154pinkchairs, cuu508, inigoserna, kou029w, belst, and those I
forgot. Keep it coming!
To download, see https://github.com/mjl-/mox#download
Published by mjl- over 1 year ago
Update instructions: No special steps required other than updating the binary.
Important bug fixes:
Changes:
Thanks to everyone who sent in feedback (e.g. by creating an issue on github).
It's much appreciated and essential for improving mox!
Published by mjl- over 1 year ago
Follow these instructions if you are updating an existing installation.
Mox now starts as root to bind to network sockets, then starts a less
privileged process to run mox. Update the mox systemd service file and restart,
as root:
# update mox binary to v0.0.2
./mox config printservice >mox.service
systemctl daemon-reload
journalctl -f -u mox &
systemctl restart mox
# If you configured backups, keep in mind files are now owned by
# mox:root, your backup tools need access to the files.
Start up as root, bind network sockets, then drop privileges to a process as
user mox to do the actual work. Makes it easier to run mox on BSDs, and paves
the way for future privilege separation work.
Add a webserver, with support for reverse proxying, serving static files,
configurable redirects. With ACME of course. Takes away need to configure mox
behind an existing webserver/reverse proxy, greatly simplifying
configuration/operation.
Add docker images and script to build images.
Make it possible to run mox behind an existing webserver/reverse proxy too.
Also add quickstart flag to make it easier to generate a config file for this
case.
Quickstart improvements: Add flag to generate a config for a specified host
name (instead of guessing). If we found public IPs, check them with popular DNS
blocklists and warn user if they are listed.
Add encrypted cid to SMTP error response lines, for easier debugging.
Fix importing of junk messages that the junk filter cannot parse.
Fix bug verifying SPF. For IP lookups (e.g. for mechanism "a"), we would only
look up with the same address family as the incoming connection. If there was no
record, we counted a void lookup. This could lead to incorrect SPF failures, we
reached the void lookup limit when we shouldn't. If the record exists for
another address family (a vs aaaa), we shouldn't count a void lookup.
Fix reputation learning of messages that were initially delivered to the
Rejects mailbox and then moved out. If you marked them as junk or nonjunk (e.g.
by moving to Archive or Junk), we should use the message for reputation
calculation of new incoming messages, but we weren't.
Lots of smaller improvements, bug fixes.
Thanks for reporting issues: mteege, hismailbulut, belst, idnovic, Jens,
the-solipsist, pexarkh, sherief, gedw99, agucova, lormayna, and everyone I
forgot. Thanks for all your feedback, discussions, suggestions! It shaped these
changes, and changes to come.