I've tried just about every combination of these configs from the docs:
append_dot_mydomain (default: Postfix ≥ 3.0: no, Postfix < 3.0: yes)

With locally submitted mail, append the string 
".$mydomain<https://www.postfix.org/postconf.5.html#mydomain>" to addresses 
that have no ".domain" information. With remotely submitted mail, append the 
string 
".$remote_header_rewrite_domain<https://www.postfix.org/postconf.5.html#remote_header_rewrite_domain>"
 instead.

Note 1: this feature is enabled by default. If disabled, users will not be able 
to send mail to "user@partialdomainname" but will have to specify full domain 
names instead.

Note 2: with Postfix version 2.2, message header address rewriting happens only 
when one of the following conditions is true:

  *   The message is received with the Postfix 
sendmail(1)<https://www.postfix.org/sendmail.1.html> command,
  *   The message is received from a network client that matches 
$local_header_rewrite_clients<https://www.postfix.org/postconf.5.html#local_header_rewrite_clients>,
  *   The message is received from the network, and the 
remote_header_rewrite_domain<https://www.postfix.org/postconf.5.html#remote_header_rewrite_domain>
 parameter specifies a non-empty value.

To get the behavior before Postfix version 2.2, specify 
"local_header_rewrite_clients<https://www.postfix.org/postconf.5.html#local_header_rewrite_clients>
 = static<https://www.postfix.org/DATABASE_README.html#types>:all".

but none of them are seeming to work.

ii  postfix                         3.6.4-1ubuntu1                          
arm64        High-performance mail transport agent
-
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = yes
biff = no
compatibility_level = 3.6
debug_peer_list = 10.104.87.249
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
inet_protocols = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, postfix-warming-c, localhost.localdomain, , 
localhost
myhostname = postfix-warming-c.us-east-2.compute.internal
mynetworks = 127.0.0.0/8, 10.20.0.0/22, 10.20.4.0/22, 10.20.8.0/22, 
10.20.32.0/19, 10.20.64.0/19, 10.20.96.0/19, 10.20.128.0/22, 10.20.132.0/22, 
10.20.136.0/22, 10.104.80.0/24, 10.104.81.0/24, 10.104.82.0/24, 10.104.84.0/23, 
10.104.86.0/23, 10.104.88.0/23, 10.104.90.0/24, 10.104.91.0/24, 10.104.92.0/24, 
10.108.0.0/22, 10.108.4.0/22, 10.108.8.0/22, 10.108.32.0/19, 10.108.64.0/19, 
10.108.96.0/19, 10.108.128.0/22, 10.108.132.0/22, 10.108.136.0/22, 
10.159.0.0/27, 10.159.0.32/27, 10.159.0.64/27, 10.159.0.128/25, 10.159.1.0/25, 
10.159.1.128/25, 10.159.2.0/25, 10.159.2.128/25, 10.159.3.0/25, 
10.159.3.128/27, 10.159.3.160/27, 10.159.3.192/27
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost =
remote_header_rewrite_domain = blackhole.local
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated 
defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
transport_maps = hash:/etc/postfix/transport
-

helo me
250 postfix-warming-c.us-east-2.compute.internal
mail from:<sean.hennes...@mercurygate.com>
250 2.1.0 Ok
rcpt to:<blah>
550 5.1.1 <blah>: Recipient address rejected: User unknown in local recipient 
table
421 4.4.2 postfix-warming-c.us-east-2.compute.internal Error: timeout exceeded
Connection closed by foreign host.
-

If I turn on local_recipient_maps =
then I don't get the 550, but then postfix tries to deliver mail to 
blah@$myhostname.

220 postfix-warming-c.us-east-2.compute.internal ESMTP Postfix (Ubuntu)
helo me
250 postfix-warming-c.us-east-2.compute.internal
mail from:<sean.hennes...@mercurygate.com>
250 2.1.0 Ok
rcpt to:<blah>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
.
250 2.0.0 Ok: queued as 2AF003FA91


Jan 29 07:10:51 postfix-warming-c postfix/smtpd[15796]: input attribute value: 
2AF003FA91
Jan 29 07:10:51 postfix-warming-c postfix/smtpd[15796]: 2AF003FA91: 
client=ip-10-104-87-249.us-east-2.compute.internal[10.104.87.249]
Jan 29 07:10:53 postfix-warming-c postfix/cleanup[15780]: 2AF003FA91: 
message-id=<20230129071051.2af003f...@postfix-warming-c.us-east-2.compute.internal>
Jan 29 07:10:53 postfix-warming-c postfix/qmgr[15772]: 2AF003FA91: 
from=<sean.hennes...@mercurygate.com>, size=386, nrcpt=1 (queue active)
Jan 29 07:10:53 postfix-warming-c postfix/smtpd[15796]: > 
ip-10-104-87-249.us-east-2.compute.internal[10.104.87.249]: 250 2.0.0 Ok: 
queued as 2AF003FA91
Jan 29 07:10:53 postfix-warming-c postfix/local[15782]: 2AF003FA91: 
to=<b...@postfix-warming-c.us-east-2.compute.internal>, orig_to=<blah>, 
relay=local, delay=10, delays=10/0/0/0, dsn=5.1.1, status=bounced (unknown 
user: "blah")
Jan 29 07:10:53 postfix-warming-c postfix/bounce[15784]: 2AF003FA91: sender 
non-delivery notification: 6533F3FAB5
Jan 29 07:10:53 postfix-warming-c postfix/qmgr[15772]: 2AF003FA91: removed


What I'm looking for is a way to force a rewrite of addresses that don't have 
an @domain that are coming into this machine from other computers. I'm trying 
to overcome an application design issue by swallowing emails w/ no domain info 
on this box, without sending any errors back to the client. I was hoping I 
could set up to add the blackhole.local and the discard that in the transports.

Sean

Reply via email to