On 08.04.2021 09:48, Tom Szilagyi wrote:
I can provoke this on two occasions:
1. User does not exist:
Apr 8 08:03:45 mail smtpd[26476]: 5d56b355f19e7a92 mda delivery
evpid=9d6aa2bcd0d53c97 from=<[email protected]>
to=<[email protected]> rcpt=<[email protected]>
user=vmail delay=10s result=TempFail stat=Error (temporary failure:
"mail.lmtp: LMTP server error: 550 5.1.1 <[email protected]>
User doesn't exist: [email protected]")
Does this not mean, that the user exists in OpenSMTPD, but doesn't exist
in LMTP side? That's a server problem and should be resolved, making it
a temporary error. Unless you haven't set up the users database in your
OpenSMTPD and just send everything to your LMTP server.
2. User quota is full:
Apr 8 07:45:39 mail smtpd[1517]: 65b4cb1b1ad15fa4 mda delivery
evpid=3a1e3c3302257a66 from=<[email protected]>
to=<[email protected]> rcpt=<[email protected]> user=vmail
delay=10s result=TempFail stat=Error (temporary failure: "mail.lmtp:
LMTP server error: 552 5.2.2 <[email protected]> Quota exceeded
(mailbox for user is full)")
Quota may be resolved in the next minute by the user, so it's also not a
permanent error.
Local delivery is handed over to Dovecot via:
action "domain_mail" lmtp "/var/dovecot/lmtp" rcpt-to virtual <virtuals>
My config rejects no-existing users immediately within the SMTP connection:
match from any for domain <domains> rcpt-to <recipients> action deliver_lmtp
action deliver_lmtp lmtp "/var/run/dovecot/lmtp" rcpt-to virtual
<virtuals> userbase <userinfo>
Do you have user checking in your match rule?
Good luck!
Reio