Commit Graph

23 Commits

Author SHA1 Message Date
Martin Weinelt 7dfcb21d35 scripts/generate-options: fix typing issue 2026-03-15 19:24:49 +01:00
Martin Weinelt 80ce71e236 docs/advanced-cofnigurations: expand recommendations
Mention FTS and TLSRPT and explain what these setups are good for and
when they might be required.
2026-03-08 04:36:58 +01:00
Martin Weinelt 33ba1ff52b Switch to NixOS ACME module for certificate management
Drop most of the existing certificate handling, because we're effectively
duplicating functionality that NixOS offers for free with better
design, testing and maintainance than what we could provide downstream.

The remaining two options are to reference an
existing `security.acme.certs` configuration through
`mailserver.x509.useACMEHost` or to provide existing key material via
`mailserver.x509.certificateFile` and `mailserver.x509.privateKeyFile`.

Support for automatic creation of self-signed certificates has been
removed, because it is undesirable in public mail setups.

The updated setup guide now displays the recommended configuration that
relies on the NixOS ACME module, but requires further customization to
select a suitable challenge.

Co-Authored-By: Emily <git@emilylange.de>
2025-12-19 02:36:28 +01:00
Martin Weinelt e2a99f33ea docs: allow referencing module options 2025-12-15 16:02:24 +01:00
Martin Weinelt 61cff94a28 scripts/generate-options: prefer defaultText over default 2025-11-11 13:45:03 +01:00
Martin Weinelt eeda8ba39e Add support for sender rewriting using postsrsd
With SRS we support forwarding of mails without (fully) breaking SPF
alignment.
2025-11-11 13:45:03 +01:00
emilylange 63b8e1615f tests: also test client submission over smtps://
instead of just smtp:// with STARTTLS.

Opted to call the flag --ssl and not --tls to keep it consistent with
the module option (mailserver.enableSubmissionSsl), dovecot internals
and smtplib in mail-check.py.
2025-08-24 02:29:30 +02:00
Martin Weinelt 0aeb2849ad mail-check: fix format string 2025-07-08 04:39:36 +02:00
Martin Weinelt 3268d8b0d8 scripts/generate-options: refactor
- Extract the md syntax part into reusable functions
- Rename variables so their purpose becomes clearer
2025-05-15 16:29:04 +02:00
Martin Weinelt 4839fa6614 scripts: migrate format strings to f-strings 2025-05-15 16:29:04 +02:00
Martin Weinelt a7d580b934 treewide: reformat python code 2025-05-15 16:29:04 +02:00
Martin Weinelt f9fcbe9430 scripts/generate-options: fix typing issue 2025-05-15 16:29:04 +02:00
Martin Weinelt 1615c93511 scripts/mail-check: fix typing issues
Replaces the body payload parsing with proper handling for multipart
messages.
2025-05-15 16:29:04 +02:00
Guillaume Girol 9919033068 tests: make the emails sent by mail-check.py look less like spam
rspamd complains that these emails miss these headers
2024-11-23 23:51:49 +01:00
Antoine Eiche 7695c856f1 ldap: improve the documentation 2023-07-11 19:31:20 +00:00
Martin Weinelt 42e245b069 scripts/mail-check: allow passing the smtp username
Will be prefered over the from address when specified.
2023-07-11 19:31:20 +00:00
Naïm Favier 4fcab839d7 docs: use MarkDown for option docs 2022-12-22 20:45:01 +01:00
Naïm Favier 694e7d34f6 docs: option docs improvements
- add missing description and defaultText fields
- add dmarcReporting option group
- render examples
2022-11-30 12:30:29 +01:00
Naïm Favier 53af883255 Regenerate options.rst 2022-02-24 20:51:40 +00:00
Antoine Eiche 74bb227990 docs: remove output paths from generated documentation
Otherwise, the `testRstOptions` test would fail too often!
2021-10-14 09:06:14 +02:00
Antoine Eiche 4d087532b6 docs: generate the list of options
To generate the list of options, we need to generate and commit a rst
file to make all files available for ReadTheDoc.

An Hydra test ensures this generated file is up-to-date. If it is not
up-to-date, the error message explains the user how to generate it:
the user just needs to run `nix-shell --run generate-rst-options`.
2021-07-27 19:58:33 +00:00
Antoine Eiche 5f431207b3 postfix: forwarding emails of login accounts with keeping local copy
When a local account address is forwarded, the mails were not locally
kept. This was due to the way lookup tables were internally managed.

Instead of using lists to represent Postfix lookup tables, we now use
attribute sets: they can then be easily merged.

A regression test for
https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/issues/
has been added: it sets a forward on a local address and ensure an
email sent to this address is locally kept.

Fixes #205
2021-02-06 08:17:43 +00:00
Antoine Eiche c813f1205f Add multiple.nix test
This test is used to test feature requiring several mail domains, such
as the `forwards` option.
2020-09-28 20:51:32 +02:00