On Sun, Mar 17, 2024 at 09:52:10PM -0700, Glenn Tenney via Postfix-users wrote:

> > It is a reserved domain name, (one of many) that you can use internally,
> > without clashing with *real domains*.
> 
> Wow. Once you KNOW it's there, you can find out about "local.invalid".
> BUT if you didn't know it was there, finding out about "local.invalid"
> would be difficult.

The entire "invalid" TLD is reserved by IANA, this isn't a Postfix
thing.  I use it for various internal routing tricks without stepping
on real domains.  E.g. rewrite some recipients to "discard.invalid"
which is routed in my transport(5) to the discard(8) transport.

> Based on "local.invalid" knowledge from Viktor, am I correct that
> entering the following line in virtual would block that email address?

>     [email protected]   [email protected]

No.  The opposite.  This would definintely accept the mail, which would
typically bounce, unless you make it deliverable.  As explained, the
access(5) and transport(5) tables are available to reject and/or bounce
some recipients, while virtual(5) is just for aliasing.

> For virtually hosted domains is there any way to "rewrite" any email
> address to a specific email? e.g.
>     @some.domain     [email protected]

Just like that.


> >     - You can reject SMTP recipients via various restriction checks
> >       that perform access(5) lookups against tables of your choice.
> 
> How can I do it not based on the network or domain name but a specific
> [email protected]?

By putting that address in an access(5) table with "REJECT <reason>" as
the RHS.  Then add:

    main.cf:
        indexed = ${default_database_type}:${config_directory}/
        smtpd_recipient_restrictions = 
            permit_mynetworks,
            reject_unauth_destination,
            check_recipient_access ${indexed}rcpt-access

    rcpt-access:
        # Postmap after each change
        [email protected] REJECT 5.1.1 purported to not exist
        [email protected] REJECT 5.7.1 access denied
        ...
        
> >     - You can route some recipients to the error(8) transport, and
> >       this will also lead them to be rejected at SMTP time.
> 
> I DID look it up. How do I do this? I don't see a way to use error(8)
> table to do it.

There is no error(8) table, that's delivery agent.  There's a transport
table:

    main.cf:
        # See "indexed =  ..." above
        transport_maps = ${indexed}transport

    transport:
        [email protected]    error:5.1.1 purported to not exist

> > No, it also supports user@domain.
> 
> it sure would be nice if that was in that man page!

It is.  Look under "TABLE SEARCH ORDER".

> > > ACCESS seems to allow only a domain name or IP (again, without a
> > > user@) on the LHS. This doesn't seem to apply to my query.
> >
> > No, it also supports user@domain.
> 
> it sure would be nice if that was in that man page!

It is.  Look under "EMAIL ADDRESS PATTERNS".

> > By mapping a user to the error transport.
> 
> Oh, PLEASE... just tell me how to map a user to the error transport...

By adding an entry to the transport(5) table, see above.

-- 
    Viktor.
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to