[exim-dev] 451 return code in smtp_rcpt_acl

Startseite
Nachricht löschen
Nachricht beantworten
Autor: David McLaughlin
Datum:  
To: exim-dev
Betreff: [exim-dev] 451 return code in smtp_rcpt_acl
Hello, Philip & Co.

I would your opinion on what I call the 'always deferred' problem.

In our configuration, the default action is to reject spam messages
at SMTP time. We allow recipients to choose a tag-only option, in
which case, we accept and "tag" the spam messages.

Because SMTP-time spam rejection rejects a message for all of its
recipients, we use a 'defer' switch in the smtp_rcpt_acl to deal
with multi-recipient messages.

The defer switch looks at the spam-preference (reject or tag) of the
first recipient of the message and then uses the spam-preference to
set the scan-mode for the message. The defer switch then 'defers'
any other recipient who spam-preference does not match the current
scan-mode.

When the defer switch 'defers' a recipient, the ACL uses a '451'
return code, along with the text of my deferral message:

'451 Deferred - please try this recipient again later'.

This return code is OK for about 99% of the sending MTAs. Other
MTAs restart the whole SMTP conversation upon receiving the 451
return code. This means that multi-recipient messages from this
sort of MTA never get past the 'defer' switch.

I have seen that 451 can be interpreted as 'server error'.

I am wondering if this problem could be solved by changing the
451 to 450, which can be interpreted as 'mailbox unavailable'?


Are there any arguments against changing the 451 to 450?


If this is considered to be a good idea, where in the source
code should I try this change?


Thanks a lot,
David

-- 
David McLaughlin                       e-mail:  mclaughlin@???
Swiss Federal Institute of Technology  tel.  :  + 41 44 632-3531
Informatikdienste (IT-Services)        secr. :  + 41 44 632-2731
ETH-Zentrum                            fax   :  + 41 44 632-1225
Clausiusstrasse 59
CH-8092 Zurich, Switzerland