[exim] Contents of $acl_verify_message

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Michael Naef
Dátum:  
Címzett: exim users
Tárgy: [exim] Contents of $acl_verify_message
Hi Folks

Situation
=========
We recently switched from "hard-SAV" (Sender Adress Verification)
where we reject mails on failure to "soft-SAV" where we tag them as
SAV-failed.

Motivation
==========
For our support departement it's very important to be able to see
*why* a message got taged or why not.

Details...
==========
Our hard-SAV setup was something like this:

---
mail_acl:
    [..]
    require verify = \
 sender/defer_ok/callout=10s,defer_ok,connect=2s,maxwait=20s
    [..]
---


This lead to nice traces in the log where you can see what the
happened during the callout (even without log_message or similar):

H=(gaga) [1.1.1.1] sender verify fail for <ddas@???>:
response to "RCPT TO:<ddas@???>" from mail.adm.domain.ch
[2.2.2.2] was: 550 no such address here


Now we changed the mail_acl for the soft-SAV like this:

---
mail_acl:
    [..]
    warn   !verify  = \ 
sender/defer_ok/callout=10s,defer_ok,connect=2s,maxwait=20s
    log_message = sender verify failed: $acl_verify_message 
    add_header = X-Sender-verification-failed-for: $sender_address
---


According to the exim docu "40.40 Address verification" [0] the
variable $acl_verify_message "contains the error message that is
associated with the failure". Also at other places in the same
document and in various threads on other mailinglists this variable
is believed by most to contain the error string as we had it in the
hard-SAV setup above. However it does not:

---
warn    !verify  = \
sender/defer_ok/callout=10s,defer_ok,connect=2s,maxwait=20s,no_cache
    log_message = sender verify failed: HHH: $acl_verify_message
    add_header = X-Sender-verification-failed-for: $sender_address
---


>>> callout cache: disabled by no_cache
>>> interface=NULL port=25
>>> Connecting to mail.adm.domain.ch [2.2.2.2]:25 ... connected
>>> SMTP<< 220 mail.adm.domain.ch ESMTP Exim 4.69 Thu, 11 Mar

2010 19:49:09 +0100
>>> SMTP>> HELO mxin001.mail.otherdomain.ch
>>> SMTP<< 250 mail.adm.domain.ch Hello

mxin001.mail.otherdomain.ch [1.1.1.1]
>>> SMTP>> MAIL FROM:<>
>>> SMTP<< 250 OK
>>> SMTP>> RCPT TO:<dasd@???>
>>> SMTP<< 550 no such address here
>>> SMTP>> QUIT
>>> ----------- end verify ------------
>>> check add_header = X-Sender-verification-failed-for:

$sender_address
>>>                  = X-Sender-verification-failed-for: 

dasd@???
>>> warn: condition test succeeded

LOG: H=(gaga) [2.2.2.2] Warning: sender verify failed: HHH: Sender
verify failed
>>> processing "accept"


You see this is not exactly what we want. I know at this place
*that* SAV failed - but I want to know *why*.

Does anybody see what I don't see?

cheers, Michael

[0] http://exim.org/exim-html-
current/doc/html/spec_html/ch40.html#SECTaddressverification