Autor: Heinz Ekker Data: Para: michael CC: exim-users Assunto: Re: [Exim] Checking Quotas at SMTP time
On Thu, Nov 28, 2002 at 09:55:35PM -0000, michael@??? wrote: > > use a redirect-router and return :defer: if the quota is reached, ohh and
> > enable receiver verification :)
>
> Just be aware to only do so within your own system. If you don't have
> the storage, you should not borrow it from foreign outgoing queues.
Oh no, it's not that, the queue would stay within our system.
The real reason I want to do that is a bit difficult to explain: We have
a mailrouter/mailstore concept, where the mailrouters rewrite the
recipient address to [login]@[mailstore] and send the mails onwards. If
the user is over quota, the mailstore queues the mails and sends a
warning. This warning now contains a "wrong" recipient address, and that
greatly confuses our customers. I figured that delaying the mail at SMTP
time would cause the router to send the warning with the original
recipient address in there somewhere, but, come to think of it, I'm not
that sure if it would.
I tried other workarounds, like inserting an 'Envelope-To'-header on the
routers and inserting it into the generated warning message, but it
seems that when the warning is sent, this header is already removed by
Exim. Leaving it in the mails is - for obvious reasons - out of the
question. It'd be broken anyway for messages with multiple recipients on
one mailstore server.
I could simply skip the rewriting part and use something like
manualroute to deliver the mails to the assigned storage servers, but
that'd mean a major rebuild of the current routing, and I didn't want to
leave any possibility uninvestigated. It would also take load from the
stores.