Hey all, been a while!
Anyways, I'm running in to a snag, and I don't know if there's a fix, or if
I've maybe just come up with yet another item to add to the wishlist, but
I'm trying to make an expanded address list that gets used in the retry
rules so that I can kind of have a single line, dynamic retry rule. The
point of it is that apparently if delivery fails for a user, it doesn't
thereafter follow retry entries for the host I wanted to send it to, but now
it looks for a retry rule for the individual recipient of the message. So,
if I can make an address list that can tell me if a recipient is local or
not, then I can give them better retries than everyone else, so this is what
I tried in wanting to accomplish this:
addresslist local_retries = ${lookup {$domain} dbmnz
{/etc/exim.host.db} {${if > {$value}{0} {*@$domain}{}}}{}}
...
begin retry
+local_retries * F,3h,5m; F,12h,15m; F,1d,1h; F,2d,3h
The exim.host.db file just contains all my local hosts (I don't have a
definitive answer on users, due to aliases and such that aren't handled by
Exim), so I just want to search for the $domain in my .db file, and if it's
there spit out a wildcard *@$domain address for the retry to match.
However, the problem is that it seems like I've got access to virtually no
variables within the retry section? I've been doing my testing with the
-brt option, and so far, I haven't been able to figure out a single variable
which would help me that gets expanded to anything but null. Is this even
possible? I don't know if Exim does a retry run for multiple recipients at
the same time, since -brt I think expects just one email address (I tried
separating with , and ; but it treats it as one user it appears, so I don't
know what that tells me).
If the multiple recipient thing isn't an issue and Exim does run a single
retry for each recipient, then is it possible we can get a few variables
like $local_part and $domain accessable in the retry rules for cases such as
this?
TIA,
Eli.