New user-controlled features
Sender address rewriting
Since authenticated submission runs as you, messages you submit can be modified before they’re sent, according to your settings.
For example, since checkpassword
sets $HOME
, each user can have
their own CDB of address-rewriting rules for ofmipd
. Here’s an
ofmipd-with-user-cdb
wrapper:
#!/bin/sh
user_cdb="$HOME/.ofmipd/rules.cdb"
if [ -f "${user_cdb}" ]; then
exec @PREFIX@/bin/ofmipd "${user_cdb}" "$@"
else
exec @PREFIX@/bin/ofmipd "$@"
fi
This is the exact same functionality long provided by ofmipd
to
sysadmins, now extended to every user.
Stateful filtering
Since authenticated submission and local delivery both run as you, messages you receive can be influenced by messages you’ve sent.
For example, you can post to DJB’s mailing lists from any AUTH-capable
mail client without ever seeing a
qsecretary challenge
again.
pymsgauth-filter
inserts a unique token into the
headers and records it in $HOME
, where pymsgauth-confirm
can
match the token in qsecretary
‘s auto-response and safely
auto-autorespond. Details:
- Apply the QMAILQUEUE patch (available here for
ofmipd
, included with notqmail and netqmail forqmail-smtpd
). - Install qmail-qfilter.
- Install rejectutils.
- Install pymsgauth with the pymsgauth-filter patch.
- Configure
$HOME/.pymsgauth/pymsgauthrc
and the relevant.qmail
file. - Add
pymsgauth-filter
tocontrol/ofmipfilters
. - Set
QMAILQUEUE="qmail-qfilter-queue"
,QMAILQUEUEFILTERS="control/ofmipfilters"
, andPYMSGAUTH_TOLERATE_UNCONFIGURED=1
in your service’s environment.
This is the exact same functionality long provided by pymsgauth-mail
to Mail
User Agents running directly on qmail servers, now extended to today’s wider
variety of devices and MUAs.