It's possible to redeliver a messages, if it exits in Exims queue format
(data_file + header_file). In this case you can simply requeue it.
Otherwise you are on your own.
If you are using the maildir format (for example) you can use such a
line:
cat $message_file | exim4 -f '<postmaster@???>' $local_user
for each message. In doing so you have to replace $message_file and
$local_user with your site specific values.
- oliver
Am Fr, den 31.12.2004 schrieb Marc Sherman um 17:45:
> Marc Sherman wrote:
> > I'm quarantining all spam sent to my system. Occasionally I find a
> > false positive. I'd like to write a script to automatically deliver
> > those messages to the original recipient, listed in the Envelope-To
> > header in the quarantined message. Is there a way to do this from the
> > command line with exim?
>
> Since no-one had any ideas, I'll take a crack at something myself. Is
> something like this likely to work?
>
> exim4 -bm _redeliver-false-positive_@??? -oi < quarantined-msg
>
> along with the following router:
>
> redeliver_false_positive:
> driver = redirect
> domains = projectile.ca
> local_parts = _redeliver-false-positive_
> condition = ${if and{{!def:sender_host_address}
> {={$caller_uid}{0}}
> {def:h_Envelope-to}}{yes}{no}}
> data = ${address:$h_Envelope-to}
> headers_add = X-Projectile-Redelivered: $tod_full
>
> The condition ensures that this router only works when called locally by
> root, and the message must have an envelope-to header already in it.
>
> I'd appreciate any comments on this idea. Thanks,
> - Marc