Commit Graph

  • faa08583c0 in integration test, don't read database index files but use imap idle to get notified of message delivery, and make integration & quickstart tests faster by making first-time sender delay configurable, and using a 1s timeout instead of the default 15s Mechiel Lukkien 2023-07-01 14:24:28 +02:00
  • 3173da5497 fix bug in imapserver with rename of inbox, and add consistency checks Mechiel Lukkien 2023-06-30 17:19:29 +02:00
  • 1e049a087d fix bug in imapserver with matching if a uid is in a uidset Mechiel Lukkien 2023-06-29 21:37:17 +02:00
  • 590ed0b81d in "changes" email for new releases, put the "---" separator on its own line, and remove duplicate word in first sentence... Mechiel Lukkien 2023-06-28 19:55:31 +02:00
  • 142b2498bf fix two parsing bugs in imapserver Mechiel Lukkien 2023-06-28 19:41:58 +02:00
  • 4819180de1 fix fetching errata after html changed Mechiel Lukkien 2023-06-27 19:31:47 +02:00
  • e58fe31dd1 add all sieve rfc's and a few recent imap rfc's to the list, and update roadmap Mechiel Lukkien 2023-06-24 12:07:22 +02:00
  • 5baeea4746 tweak to error message when loading configuration file Mechiel Lukkien 2023-06-24 10:12:25 +02:00
  • 40163bd145 implement storing non-system/well-known flags (keywords) for messages and mailboxes, with imap Mechiel Lukkien 2023-06-24 00:24:43 +02:00
  • afefadf2c0 in websocket data copying code, wait for other goroutine to stop before changing the connection Mechiel Lukkien 2023-06-24 00:14:14 +02:00
  • 459317097b fix typo's and old reference Mechiel Lukkien 2023-06-22 21:27:52 +02:00
  • 8096441f67 new feature: when delivering messages from the queue, make it possible to use a "transport" Mechiel Lukkien 2023-06-16 18:38:28 +02:00
  • 2eecf38842 unbreak the subcommands that talk to the mox instance of the ctl socket Mechiel Lukkien 2023-06-16 13:27:27 +02:00
  • f73125cbcd restore checking integration_test.go with go vet Mechiel Lukkien 2023-06-16 12:55:57 +02:00
  • e81ed7af26 in DSN, don't add a comment with a nil IP address if we don't have an IP Mechiel Lukkien 2023-06-16 09:55:45 +02:00
  • b190a2cda8 mention good hosting providers may initially block outgoing smtp too Mechiel Lukkien 2023-06-12 16:35:03 +02:00
  • d4d3f8ce92 add FAQ about the common misconceptation that you cannot run your own email server nowadays Mechiel Lukkien 2023-06-12 16:25:35 +02:00
  • c561d7452b unbreak "mox localserve" Mechiel Lukkien 2023-06-12 14:59:40 +02:00
  • d2f7d59fce for dns resolve errors likely due to a missing name server in /etc/resolv.conf, point user to man page of systemd-resolved, the likely cause Mechiel Lukkien 2023-06-12 14:45:29 +02:00
  • 64ac9872a4 in quickstart, if the host name resolves to a loopback IP, warn about it as it will likely prevent email delivery to local accounts Mechiel Lukkien 2023-06-12 12:19:20 +02:00
  • 0187fa0394 tweak time format for added date headers v0.0.4 Mechiel Lukkien 2023-06-04 21:04:10 +02:00
  • 41167d6393 regenerate keys/certs for integration tests with expiration far in the future Mechiel Lukkien 2023-06-04 20:43:19 +02:00
  • 05fd5c6947 add automated test for quickstart Mechiel Lukkien 2023-06-04 20:38:10 +02:00
  • e53b773d04 fix bug with dkim signing messages without Date or Message-Id header Mechiel Lukkien 2023-06-04 20:32:18 +02:00
  • c9a846d019 more logging around smtp and mtasts tls connections Mechiel Lukkien 2023-06-04 17:55:55 +02:00
  • 5a4f35ad5f fix delivery from/to smtp addresses with double quotes Mechiel Lukkien 2023-06-03 15:29:18 +02:00
  • 77d78191f8 more helpful error message when the queue tries to deliver a message but the remote host is not listed in the mta-sts policy Mechiel Lukkien 2023-06-01 16:15:33 +02:00
  • cafbfc5fdf tweaks to backup & verifydata tool to make a typical backup+verifydata produce no output Mechiel Lukkien 2023-06-01 11:34:28 +02:00
  • d25131f2f2 add missing check for err variable in test Mechiel Lukkien 2023-05-31 21:57:46 +02:00
  • 713d781bad log a consistent log line for failed authentication attempts, with the remote ip Mechiel Lukkien 2023-05-31 20:39:00 +02:00
  • 70d07c5459 open tls keys/certificate as root, pass fd's to the unprivileged child process Mechiel Lukkien 2023-05-31 14:09:53 +02:00
  • dd0cede4f9 after a logout command, actually close the connection Mechiel Lukkien 2023-05-31 10:31:25 +02:00
  • 5b8efcc1d9 move "how do i upgrade"-question to just below "how do i stay up to date" question Mechiel Lukkien 2023-05-31 10:30:34 +02:00
  • 0971700f6c add ios push mail on not-soon-todo list Mechiel Lukkien 2023-05-31 10:24:48 +02:00
  • 259928ab62 add reverse proxying websocket connections Mechiel Lukkien 2023-05-30 22:11:31 +02:00
  • aca64828bd we now have an index on dkimdomains, remove the todo Mechiel Lukkien 2023-05-26 20:49:13 +02:00
  • aad5a5bcb9 add a "backup" subcommand to make consistent backups, and a "verifydata" subcommand to verify a backup before restoring, and add tests for future upgrades Mechiel Lukkien 2023-05-26 19:26:51 +02:00
  • 753ec56b3d make "mailbox" parameter to unlisted command "bumpuidvalidity" optional, to update the uidvalidity for all mailboxes Mechiel Lukkien 2023-05-22 18:11:42 +02:00
  • d18983d9a6 add github workflow to build & test, exporting a coverage file Mechiel Lukkien 2023-05-22 18:01:21 +02:00
  • dcc051e149 for fuzzing the imapserver and smtpserver use different config files than regular tests Mechiel Lukkien 2023-05-22 15:37:03 +02:00
  • 1f5ab1b795 fix language in comments Mechiel Lukkien 2023-05-22 15:04:06 +02:00
  • b0623e6038 in queue.Drop, to drop a message from the outgoing queue, not only remove it from the database, but also its contents from the file system Mechiel Lukkien 2023-05-22 15:03:23 +02:00
  • 88fd775ec4 if we encounter an error fetching an mta-sts policy as part of a delivery attempt, properly continue with delivery with strict tls checking Mechiel Lukkien 2023-05-22 14:46:20 +02:00
  • e81930ba20 update to latest bstore (with support for an index on a []string: Message.DKIMDomains), and cyclic data types (to be used for Message.Part soon); also adds a context.Context to database operations. Mechiel Lukkien 2023-05-22 14:40:36 +02:00
  • f6ed860ccb Fixed MTASTSHTTPS.NonTLS option (#29) Kohei Watanabe 2023-05-03 23:26:04 +09:00
  • 70ab9a7d4c tweak alerting rule to include that it is about authentication rate limiting Mechiel Lukkien 2023-05-01 14:21:02 +02:00
  • c1753b369d in smtpserver, accept delivery to postmaster@<hostname>, and also postmaster@ addresses for domains that don't have a postmaster address configured. Mechiel Lukkien 2023-04-24 12:04:46 +02:00
  • 74dab5fc39 fix sending to address where the domain does not have an mx record (but where we should connect directly to the host, or follow cname records) Mechiel Lukkien 2023-04-24 10:34:19 +02:00
  • 1f4df30019 remove debug print Mechiel Lukkien 2023-04-22 08:41:56 +02:00
  • 517fb31212 clear updating.txt for release v0.0.3 Mechiel Lukkien 2023-04-22 07:52:42 +02:00
  • b3f3c0a056 in smtpclient, when delivering with pipelining, don't return a unhelpful read error when the remote server closes the connection early after writing an error response Mechiel Lukkien 2023-04-20 22:29:18 +02:00
  • 0b364862ed add link to screenshots Mechiel Lukkien 2023-04-20 16:44:07 +02:00
  • dae73eb32d update golang.org/x dependencies Mechiel Lukkien 2023-04-20 15:05:26 +02:00
  • 6eff832d09 fix fuzzing imapserver by not triggering the rate limiter Mechiel Lukkien 2023-04-20 14:58:05 +02:00
  • 08eb1a5472 in store/, change functions from calling panic to returning errors Mechiel Lukkien 2023-04-20 14:16:56 +02:00
  • 936a0d5afe bugfix: when dkim-signing submitted messages, use the domain from the "message from header" instead of "smtp mail from" Mechiel Lukkien 2023-03-30 10:38:36 +02:00
  • 0989e59567 remove pgp and s/mime from possible future feature list Mechiel Lukkien 2023-03-29 21:24:59 +02:00
  • df6956bed8 the mbox export also contains all message flags, so fix the text along the export links Mechiel Lukkien 2023-03-29 21:21:43 +02:00
  • b571dd4b28 implement a catchall address for a domain Mechiel Lukkien 2023-03-29 21:11:43 +02:00
  • 51ad345dbb refuse to add an address when its localpart contains the domains catchall separator, or when its canonicalized address (e.g. lower cased when case-insensitive) is already present, and check at startup as well Mechiel Lukkien 2023-03-29 10:55:05 +02:00
  • 9b57c69c1c implement limits on outgoing messages for an account Mechiel Lukkien 2023-03-28 20:50:36 +02:00
  • 9bd497b836 set timeouts for webserver, for idle connections and reading http request header Mechiel Lukkien 2023-03-28 17:16:05 +02:00
  • 00ea31f2f6 do not generate http status 502 for canceled http requests Mechiel Lukkien 2023-03-21 09:25:49 +01:00
  • f531a9bf35 don't serve static file when requested as dir, and fix 500 internal server errors when a file below such a file-as-dir is requested Mechiel Lukkien 2023-03-20 13:48:17 +01:00
  • c5fdb7309f document that mox sendmail -t does not treat cc and bcc headers specially Mechiel Lukkien 2023-03-20 13:25:38 +01:00
  • d36419170b also use -loglevel in localserve, and fail if the loglevel is invalid Mechiel Lukkien 2023-03-20 13:01:49 +01:00
  • 98b5a27fd2 mention where the admin interface can be accessed Mechiel Lukkien 2023-03-20 12:49:40 +01:00
  • a9b2bc8cec replace use of docker registry docker.io (hub.docker.com) with self-hosted r.xmox.nl Mechiel Lukkien 2023-03-20 09:28:17 +01:00
  • a6e603e1df another rfc Mechiel Lukkien 2023-03-20 08:52:45 +01:00
  • 9d03e2b135 add prometheus rules for mox Mechiel Lukkien 2023-03-12 22:14:42 +01:00
  • ad49941302 add notes on release process Mechiel Lukkien 2023-03-12 21:52:07 +01:00
  • 7681f8bdc8 for localserve, validate the incoming message Mechiel Lukkien 2023-03-12 21:42:28 +01:00
  • 19ea0d9a58 make all helpall output go to the same file descriptor Mechiel Lukkien 2023-03-12 15:25:16 +01:00
  • 5535515fcb move sendmail to separate file Mechiel Lukkien 2023-03-12 15:22:23 +01:00
  • 317dc78397 add pedantic mode (used by localserve) that refuses some behaviour that is invalid according to specifications and that we normally accept for compatibility Mechiel Lukkien 2023-03-12 15:16:01 +01:00
  • 132f08913b log msgfrom for incoming delivered messages Mechiel Lukkien 2023-03-12 13:22:51 +01:00
  • 10daf3cb81 make http(s) path for serving the account and admin pages configurable Mechiel Lukkien 2023-03-12 11:52:15 +01:00
  • 0099197d00 add "mox localserve" subcommand, for running mox locally for email-related testing/developing Mechiel Lukkien 2023-03-12 10:38:02 +01:00
  • bddc8e4062 also configure acme validation with http-01, and fix a bug that caused tls cert refresh at startup to not always run Mechiel Lukkien 2023-03-10 17:55:37 +01:00
  • f60ad1452f use configured tls ca config for all tls connections, so https as well Mechiel Lukkien 2023-03-10 16:25:18 +01:00
  • 47b88550be add a little explanation about sconf, the config file syntax Mechiel Lukkien 2023-03-10 11:42:50 +01:00
  • f9eae88aba for imap/smtp syntax errors, only echo the remaining buffer if the connection is authenticated Mechiel Lukkien 2023-03-10 11:32:34 +01:00
  • e413c906b1 if the first smtp or imap command is invalid, shut down the connection instead of trying to read more Mechiel Lukkien 2023-03-10 10:23:43 +01:00
  • 2c07645ab4 deprecate having only localparts in an Account's Destinations, it should always be a full email address Mechiel Lukkien 2023-03-09 22:07:37 +01:00
  • 5742ed1537 when logging email addresses with IDNA domain and/or special characters or utf8 in localpart, log both native utf8 form and form with escape localpart and ascii-only domain Mechiel Lukkien 2023-03-09 20:18:34 +01:00
  • eb26e9b921 when rejecting a message, add field "msgfrom" to the logging line Mechiel Lukkien 2023-03-09 17:21:27 +01:00
  • b0641a1901 mention the github watch release feature to stay up to date, and link to the rss feeds Mechiel Lukkien 2023-03-09 16:50:24 +01:00
  • e6df84a8de add config field "IPsNATed" to listener, indicating the IPs are not the actual public IPs but are NATed, to skip a few DNS checks Mechiel Lukkien 2023-03-09 15:24:06 +01:00
  • 8b0706e02d for WebRedirect, don't "match" when the destination URL has the same scheme,host,path, for doing http -> https redirects without loops Mechiel Lukkien 2023-03-08 23:29:44 +01:00
  • a9ef0f2aea add "mox dkim sign", useful for testing signatures Mechiel Lukkien 2023-03-07 21:59:55 +01:00
  • 39a097a5d4 add timezone db files to docker images Mechiel Lukkien 2023-03-07 16:53:55 +01:00
  • ba75c73716 update to latest golang.org/x/crypto v0.0.2 Mechiel Lukkien 2023-03-06 08:35:57 +01:00
  • b2e6c29849 only check the autotls hostnames once when serving Mechiel Lukkien 2023-03-05 23:56:02 +01:00
  • 1bee32679a tweak to email message with updates, and cleanup temporary changelog file in case of delivery error Mechiel Lukkien 2023-03-05 23:15:34 +01:00
  • f867bcfa21 add updates serve command to serve a json or html version of the changelog.json, with contents based on ?from= query string Mechiel Lukkien 2023-03-05 22:38:29 +01:00
  • dfd7b721ae add warning about weak password when setting password via cli too Mechiel Lukkien 2023-03-05 16:42:34 +01:00
  • dedc90f455 at startup, with acme, if the config has explicitly configured public ips (the default with the quickstart), lookup the host names allowed for acme validation and warn about ips that mox is not configured to listen on Mechiel Lukkien 2023-03-05 16:22:23 +01:00
  • 845a72d07a in quickstart, add -hostname flag and check public ips with 2 dnsbl's Mechiel Lukkien 2023-03-05 15:40:26 +01:00
  • ce54c6f1db add hint on how to access your admin endpoint Mechiel Lukkien 2023-03-05 13:48:24 +01:00
  • 80bff3c076 typo's Mechiel Lukkien 2023-03-05 13:39:24 +01:00