[exim] How does :fail: work?

Pàgina inicial
Delete this message
Reply to this message
Autor: Loed
Data:  
A: exim-users
Assumpte: [exim] How does :fail: work?
Hello All!

I'm sorry for a stupid question, but there is one thing I can't
understand.

I have mail server (Exim 4.34) which is acting as a MX for a few
domains. And I don't want my MTA to accept messages larger than 10 Mb
(for example). Surely it can be done by setting the message_size_limit
option to 10M. But it applies to all the domains I am relaying mail
to and some domains have no such limit. So I've defined a new router:


max_size:
 driver = redirect
 domains = (domains...)
 allow_fail
 condition = ${if >{$message_size}{10M}{yes}{no}}
 data = :fail: The message you are sending is too long.\n \
          Max size if currently set to 10 Mb.



But recently I've noticed that some of such messages are rejected
during the smtp conversation:

"550 The message you are sending is too long."

But sometimes Exim accepts such messages, but generates an error
message which is returned to sender. Something like this:

-----------------------------------------------------------------------

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

user@???
The message you are sending is too long.
Max size if currently set to 10 Mb.

------ This is a copy of the message, including all the headers. ------



How does it decide whether to generate error message or not?


--
Best regards,
Leonid