Skip to content

Commit 6598ca8

Browse files
committed
add linkcheck to CI, fix several links and streamlihne DKIM section while at it
1 parent 9f08e8f commit 6598ca8

File tree

4 files changed

+30
-28
lines changed

4 files changed

+30
-28
lines changed

.github/workflows/docs.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
scripts:
9-
name: build documentation
9+
name: build
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
@@ -21,6 +21,10 @@ jobs:
2121
working-directory: doc
2222
run: sphinx-build source build
2323

24+
- name: check links
25+
working-directory: doc
26+
run: sphinx-build --builder linkcheck source build
27+
2428
- name: build documentation second time (for TOC)
2529
working-directory: doc
2630
run: sphinx-build source build

doc/source/faq.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ How are chatmail relays run? Can I run one myself?
4141
Chatmail relays are designed to be very cheap to run, and are generally
4242
self-funded by respective operators. All chatmail relays are
4343
automatically deployed and updated using `the chatmail relay
44-
repository <https://github.com/chatmail/server>`__. Chatmail relays are
44+
repository <https://github.com/chatmail/relay>`__. Chatmail relays are
4545
composed of proven standard e-mail server components, Postfix and
4646
Dovecot, and are configured to run unattended without much maintenance
4747
effort. Chatmail relays happily run on low-end hardware like a Raspberry

doc/source/getting_started.rst

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
Setting up a chatmail relay
22
===========================
33

4-
This section contains everything needed to setup a ready-to-use
5-
chatmail relay comprised of a minimal setup of the battle-tested
6-
`Postfix SMTP <https://www.postfix.org>`_ and `Dovecot
7-
IMAP <https://www.dovecot.org>`_ MTAs/MDAs.
8-
4+
This section contains everything needed to setup a ready-to-use chatmail relay.
95
The automated setup is designed and optimized for providing chatmail
10-
addresses for immediate permission-free onboarding through chat apps and
11-
bots. Chatmail addresses are automatically created at first login, after
12-
which the initially specified password is required for sending and
13-
receiving messages through them.
6+
addresses for immediate permission-free onboarding through chat apps and bots.
7+
Chatmail addresses are automatically created at first login,
8+
after which the initially specified password is required
9+
for sending and receiving messages through them.
1410

1511

1612
Minimal requirements and prerequisites

doc/source/overview.rst

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -239,35 +239,37 @@ from the chatmail relay server.
239239
Email domain authentication (DKIM)
240240
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
241241

242-
Chatmail relays enforce
243-
`DKIM <https://www.rfc-editor.org/rfc/rfc6376>`_ to authenticate
244-
incoming emails. Incoming emails must have a valid DKIM signature with
242+
Chatmail relays enforce :rfc:`DKIM <6376>` to authenticate incoming emails.
243+
Incoming emails must have a valid DKIM signature with
245244
Signing Domain Identifier (SDID, ``d=`` parameter in the DKIM-Signature
246245
header) equal to the ``From:`` header domain. This property is checked
247246
by OpenDKIM screen policy script before validating the signatures. This
248-
correpsonds to strict `DMARC <https://www.rfc-editor.org/rfc/rfc7489>`_
249-
alignment (``adkim=s``), but chatmail does not rely on DMARC and does
250-
not consult the sender policy published in DMARC records. Other legacy
251-
authentication mechanisms such as
252-
`iprev <https://www.rfc-editor.org/rfc/rfc8601#section-2.7.3>`_ and
253-
`SPF <https://www.rfc-editor.org/rfc/rfc7208>`_ are also not taken into
254-
account. If there is no valid DKIM signature on the incoming email, the
247+
correpsonds to strict :rfc:`DMARC <7489>` alignment (``adkim=s``).
248+
If there is no valid DKIM signature on the incoming email, the
255249
sender receives a “5.7.1 No valid DKIM signature found” error.
256250

251+
Note that chatmail relays
252+
253+
- do **not** rely on DMARC and do not consult the sender policy published in DMARC records;
254+
255+
- do **not** rely on legacy authentication mechanisms such as
256+
:rfc:`iprev <8601#section-2.7.3>` and :rfc:`SPF <7208>`.
257+
Any IP address is accepted if the DKIM signature was valid.
258+
257259
Outgoing emails must be sent over authenticated connection with envelope
258-
MAIL FROM (return path) corresponding to the login. This is ensured by
259-
Postfix which maps login username to MAIL FROM with
260-
```smtpd_sender_login_maps`` <https://www.postfix.org/postconf.5.html#smtpd_sender_login_maps>`_
260+
``MAIL FROM`` (return path) corresponding to the login.
261+
This is ensured by Postfix which maps login username to ``MAIL FROM`` with
262+
`smtpd_sender_login_maps <https://www.postfix.org/postconf.5.html#smtpd_sender_login_maps>`_
261263
and rejects incorrectly authenticated emails with
262-
```reject_sender_login_mismatch`` <reject_sender_login_mismatch>`_
263-
policy. ``From:`` header must correspond to envelope MAIL FROM, this is
264+
`reject_sender_login_mismatch <https://www.postfix.org/postconf.5.html#reject_sender_login_mismatch>`_ policy.
265+
``From:`` header must correspond to envelope ``MAIL FROM``, this is
264266
ensured by ``filtermail`` proxy.
265267

266268
TLS requirements
267269
~~~~~~~~~~~~~~~~
268270

269271
Postfix is configured to require valid TLS by setting
270-
```smtp_tls_security_level`` <https://www.postfix.org/postconf.5.html#smtp_tls_security_level>`_
272+
`smtp_tls_security_level <https://www.postfix.org/postconf.5.html#smtp_tls_security_level>`_
271273
to ``verify``. If emails don’t arrive at your chatmail relay server, the
272274
problem is likely that your relay does not have a valid TLS certificate.
273275

@@ -290,7 +292,7 @@ actually it is a problem with your TLS certificate.
290292

291293

292294
.. _dovecot: https://dovecot.org
293-
.. _postfix: https://postfix.org
295+
.. _postfix: https://www.postfix.org
294296
.. _nginx: https://nginx.org
295297
.. _pyinfra: https://pyinfra.com
296298

0 commit comments

Comments
 (0)