Hi,

I'm configuring Postfix to relay mail via a smarthost, and I need to
rewrite the sender address in order for the smarthost to accept the
mail (and not reject it as 'relaying'). I'm using generic mapping to do
this, and it works correctly on two of my systems (Debian Sid,
running Postfix 3.3.2), but not on a third (Debian Stretch, running
3.1.8). I've tried all sorts of adjustments and debugging, and I'm at
my wits' end. Below is the configuration and logging from the broken
system:

>From /var/log/mail.log :

Jan  2 14:05:55 alice postfix/pickup[17200]: D2324AC400BA: uid=0 from=<root>
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: name_mask: all
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: inet_addr_local: 
configured 2 IPv4 addresses
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: inet_addr_local: 
configured 5 IPv6 addresses
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: process generation: 20 
(20)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: connection established fd 
128
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
root
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: `local' `root' -> 
`root@alice.villette'
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr address = 
root@alice.villette
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
cele...@gmail.com
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: `local' 
`cele...@gmail.com' -> `cele...@gmail.com'
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr address = 
cele...@gmail.com
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:55 alice postfix/cleanup[19935]: D2324AC400BA: 
message-id=<20190102190555.D2324AC400BA@alice.villette>
Jan  2 14:05:55 alice postfix/qmgr[17048]: D2324AC400BA: 
from=<root@alice.villette>, size=258, nrcpt=1 (queue active)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: connection established fd 
129
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
resolve
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: sender
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
sender
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
root@alice.villette
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute value: 
cele...@gmail.com
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: match_string: 
mydestination: gmail.com ~? alice.villette
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: match_string: 
mydestination: gmail.com ~? alice.villette
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: match_string: 
mydestination: gmail.com ~? localhost.villette
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: match_string: 
mydestination: gmail.com ~? localhost
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: match_list_match: 
gmail.com: no match
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: `root@alice.villette' -> 
`cele...@gmail.com' -> (`smtp' `[smtp.zoho.com]:465' `cele...@gmail.com' `4096')
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr transport = smtp
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr nexthop = 
[smtp.zoho.com]:465
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr recipient = 
cele...@gmail.com
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: send attr flags = 4096
Jan  2 14:05:55 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: connection established fd 
130
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute value: 
aaaaa...@zoho.com
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: `local' 
`aaaaa...@zoho.com' -> `aaaaa...@zoho.com'
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: send attr address = 
aaaaa...@zoho.com
Jan  2 14:05:56 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:57 alice postfix/smtp[19937]: D2324AC400BA: 
to=<cele...@gmail.com>, relay=smtp.zoho.com[204.141.43.189]:465, delay=1.4, 
delays=0.11/0.03/0.88/0.4, dsn=5.0.0, status=bounced (host 
smtp.zoho.com[204.141.43.189] said: 553 Relaying disallowed as @ (in reply to 
end of DATA command))
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: ""
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: `local' `""' -> `""'
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr address = ""
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
root@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: `local' 
`root@alice.villette' -> `root@alice.villette'
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr address = 
root@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
MAILER-DAEMON
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: `local' `MAILER-DAEMON' 
-> `MAILER-DAEMON@alice.villette'
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr address = 
MAILER-DAEMON@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
rewrite
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: rule
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
local
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
root@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: `local' 
`root@alice.villette' -> `root@alice.villette'
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr address = 
root@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:57 alice postfix/cleanup[19935]: 40739AC400BB: 
message-id=<20190102190557.40739AC400BB@alice.villette>
Jan  2 14:05:57 alice postfix/bounce[19939]: D2324AC400BA: sender non-delivery 
notification: 40739AC400BB
Jan  2 14:05:57 alice postfix/qmgr[17048]: 40739AC400BB: from=<>, size=2235, 
nrcpt=1 (queue active)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
request
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
resolve
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: sender
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
sender
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
(end)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
address
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute value: 
root@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: rewrite socket: wanted 
attribute: (list terminator)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: input attribute name: 
(end)
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: match_string: 
mydestination: alice.villette ~? alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: `' -> 
`root@alice.villette' -> (`local' `alice.villette' `root@alice.villette' `256')
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr flags = 0
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr transport = 
local
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr nexthop = 
alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr recipient = 
root@alice.villette
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: send attr flags = 256
Jan  2 14:05:57 alice postfix/trivial-rewrite[19936]: master_notify: status 1
Jan  2 14:05:57 alice postfix/qmgr[17048]: D2324AC400BA: removed
Jan  2 14:05:57 alice postfix/local[19940]: 40739AC400BB: 
to=<root@alice.villette>, relay=local, delay=0.09, delays=0.04/0.01/0/0.04, 
dsn=2.0.0, status=sent (delivered to mailbox)
Jan  2 14:05:57 alice postfix/qmgr[17048]: 40739AC400BB: removed
Jan  2 14:06:01 alice postfix/trivial-rewrite[19936]: connection closed fd 130
Jan  2 14:06:02 alice postfix/trivial-rewrite[19936]: connection closed fd 128
Jan  2 14:06:02 alice postfix/trivial-rewrite[19936]: connection closed fd 129
Jan  2 14:07:42 alice postfix/trivial-rewrite[19936]: idle timeout -- exiting

# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
compatibility_level = 2
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mydestination = $myhostname, alice.villette, localhost.villette, localhost
myhostname = alice.villette
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = [smtp.zoho.com]:465
smtp_generic_maps = hash:/etc/postfix/generic
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/zoho_passwd
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = verify
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_wrappermode = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
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_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

# postmap -s generic
@alice.villette aaaaa...@zoho.com

# postconf -Mf
smtp       inet  n       -       y       -       -       smtpd
pickup     unix  n       -       y       60      1       pickup
cleanup    unix  n       -       y       -       0       cleanup
qmgr       unix  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       y       1000?   1       tlsmgr
rewrite    unix  -       -       y       -       -       trivial-rewrite -v
bounce     unix  -       -       y       -       0       bounce
defer      unix  -       -       y       -       0       bounce
trace      unix  -       -       y       -       0       bounce
verify     unix  -       -       y       -       1       verify
flush      unix  n       -       y       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       y       -       -       smtp
relay      unix  -       -       y       -       -       smtp
showq      unix  n       -       y       -       -       showq
error      unix  -       -       y       -       -       error
retry      unix  -       -       y       -       -       error
discard    unix  -       -       y       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       y       -       -       lmtp
anvil      unix  -       -       y       -       1       anvil
scache     unix  -       -       y       -       1       scache
maildrop   unix  -       n       n       -       -       pipe flags=DRhu
    user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp       unix  -       n       n       -       -       pipe flags=Fqhu
    user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail     unix  -       n       n       -       -       pipe flags=F user=ftn
    argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp      unix  -       n       n       -       -       pipe flags=Fq.
    user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n       n       -       2       pipe flags=R
    user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop}
    ${user} ${extension}
mailman    unix  -       n       n       -       -       pipe flags=FR
    user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop}
    ${user}

Celejar

Reply via email to