Re: verify recipient - temp error instead of perm error
Slavko via Exim-users <[email protected]>
| Newsgroups | gmane.mail.exim.user |
|---|---|
| Message-ID | <[email protected]> |
Ahoj, Dňa Wed, 13 Aug 2025 08:46:50 +0200 Frank Richter via Exim-users <[email protected]> napísal: > Now, (how) can I change this message '451 Temporary local problem - > please try later'? > This causes questions to me: Please fix your local problem :-) It was nice exercise for me :-P It can be done by nested ACL, first define named ACL somewhere: # distinguish temporary error in recipient verify, sets acl_m_rvrfy rcpt_verify: # set temporary error result require set acl_m_rvrfy = defer # on success verify accept verify = recipient set acl_m_rvrfy = accept # on failed verify deny set acl_m_rvrfy = deny It is based on fact, how verify and nested ACLs works: + if success, the nested ACL sets value to variable to accept (actually unused) and returns accept + if failed, the nested ACL continues to deny where is unconditionally sets variable value to deny + if verify defers, the nested ACL returns that and initial value of variable remains Then use it in RCPT ACL (add more conditions as appropriate) , where nested ACL is called to set variable, then i act on variable value as needed: require set acl_m_rvrfy = warn acl = rcpt_verify deny condition = ${if eq{$acl_m_rvrfy}{deny}} message = Unroutable recipient domain defer condition = ${if eq{$acl_m_rvrfy}{defer}} message = Temporary unroutable recipient domain The only problem is, that temporary verify errors can be caused not only by DNS, but IMO this message is better as default one... regards -- Slavko https://www.slavino.sk -- ## subscription configuration (requires account): ## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/ ## unsubscribe (doesn't require an account): ## [email protected] ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/