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.

Reply via email to