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

Reply via email to