Oleksii Krykun a écrit : > If I use smtpd_reject_unlisted_recipient=yes or > smtpd_recipient_restrictions=reject_unlisted_recipient options all > messages to non-existant addresses are rejected. > But if anybody sends message to multiple addresses in same domain and > one of them doesn't exist then postfix doesn't deliver such messages > anywhere. > > How to tell postfix to reject mail to non-existant mailboxes only and > deliver it to valid recipient? >
your observation is wrong. postfix implements the SMTP standard. see below. if your MUA cacnels a transaction because of an error, it's a MUA issue. note that this is not a MUA bug. I like it when I mistype an address and I get an error. this way, I can fix the address and resend my mail as if there was no error (compare with: 19 people get a message with a wrong To, they reply to, and get a bounce. and I have to resend to the one I mistyped... etc). === $ telnet localhost 25 ... 220 mx.netoyen.net ESMTP Postfix EHLO some.host.example ... MAIL FROM:<> 250 2.1.0 Ok RCPT TO:<mo...@netoyen.net> 250 2.1.5 Ok RCPT TO:<doesntex...@netoyen.net> 550 5.1.1 <doesntex...@netoyen.net>: Recipient address rejected: User unknown DATA 354 End data with <CR><LF>.<CR><LF> Subject: test test . 250 2.0.0 Ok: queued as 093A7E54898 quit 221 2.0.0 Bye # tail -f /var/log/maillog ... ...: 093A7E54898: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 <doesntex...@netoyen.net>: Recipient address rejected: User unknown; from=<> to=<doesntex...@netoyen.net> ... ... ...: 48517E54871: from=<>, size=624, nrcpt=1 (queue active) ...: deliver(mo...@netoyen.net): sieve: msgid=unspecified: stored mail into mailbox 'INBOX' ...: 48517E54871: to=<mo...@netoyen.net>, relay=dovecot, delay=0.03, delays=0.01/0.02/0/0.01, dsn=2.0.0, status=sent (delivered via dovecot service) ...: 48517E54871: removed as you can see, logs say the message was delivered. and I can read it with my MUA.