On Mon, 11 Apr 2022, Reio Remma wrote:
Am I misremembering or is that a possibility - to implement the '@'
catchall directly inside smtpd.conf without reference to lookup tables or
virtusers (or aliases) ?
There's this format for inline tables:
table "barbaz" { foo = bar, baz = qux }
OK, I added this line to my (working) smtpd.conf:
table catchall { "@" = username }
... so there is the static table ... and "username" is a real, actual UNIX
user in the passwd file. Not a virtual user.
Then I added this line:
accept for any virtual <catchall> deliver to mbox
... and that line bombs out my configuration ... here is my entire
configuration *including* these two additional lines. This config works
great if I remove the two new lines:
table aliases file:/usr/local/etc/mail/aliases
table catchall { "@" = username }
filter check_dyndns phase connect match rdns regex { '.*\.dyn\..*',
'.*\.dsl\..*' } \
disconnect "550 no residential connections"
filter check_rdns phase connect match !rdns \
disconnect "550 no rDNS"
filter check_fcrdns phase connect match !fcrdns \
disconnect "550 no FCrDNS"
listen on 22.44.55.135 port 10028 tag DKIM
listen on 22.44.55.135 filter \
{ check_dyndns, check_rdns, check_fcrdns }
listen on 22.44.55.135 port submission
action "local_mail" mbox alias <aliases>
action "relay_dkim" relay host smtp+notls://22.44.55.135:10027
action "outbound" relay helo mail.domain.com
accept for any virtual <catchall> deliver to mbox
match tag DKIM for any action "outbound"
match from any for domain "domain.com" action "local_mail"
match from any auth for any action "outbound"
match for local action "local_mail"
match for any action "relay_dkim"
My goal is to add exactly one catchall rule and keep my config simple
inside smtpd.conf without dealing with virtual users and virtusertable,
etc.
Thanks.