On Wed, Sep 06, 2006 at 01:38:23PM -0700, Michalski Luc wrote: > > Hello, > > I am sending a newsletter every weeks to my user and some users have email > addresses which don t exist anymore or are full...And i receive a mail > delivery warning for each one... > > I d like to write a router in the exim.conf which send the invalid address > to a file for treatment : > > invalid_from_local: > driver = accept > condition = ${if eq {$sender_address}{XXXXXXXXXXXXXXXXXXXXXXXXX}} > transport = prune_recipient > > prune_recipient: > driver = pipe > command = /usr/local/bin/prune.pl > > What should I write as condition for routing all these bad emails ?
The classic answer to this problem is to originate each of your mails with a unique envelope sender and make each delivery to exactly one recipient. Then you handle any messages you receive *to* those unique addresses by passing them to a script which verifies that the mail it's received is a bounce, works out the address for which the bounce was received from the unique information in the address, and marks that address as broken in your database (or deletes it, or whatever). Note that you really should distinguish bounces resulting from temporary failure conditions from those resulting from permanent ones, but this is quite hard to do mechanically and temporary failure bounces seem to be relatively rare now. You can do all of this withwith the normal alias |command mechanism, as long as the UID sending the mail is trusted (so that they can set the return-path) or it is submitted by SMTP -- no significant changes to your Exim configuration are needed. -- ``One of the advantages of being disorderly is that one is constantly making exciting discoveries.'' (A. A. Milne) -- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/