[Exim] Some questions

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Chris Knipe
Date:  
À: exim-users
Sujet: [Exim] Some questions
Lo everyone,

Just one (I hope) rather simple and silly question, and then the other is
maybe more of a discussion than a question.... But erm...

  condition = "${if or eq {{$received_protocol}{scanned-ok}} \
                          {match {$domain}{'lists.mydomain.com'}}} \
                          {0}{1}"


What would be the proper way to write that condition? Exim complains about
a missing { after or, but I'm not to sure...

Basically, the condition is taken from the amavisd README.exim that Phillip
has supplied, with the exception that I want to exclude scanning email that
either comes from, or goes to lists.mydomain.com.

Then, I want to know what the proper way is for managing and setting up a
backup mail server? (Higher priority MX records, etc).

I've had various looks now through the Exim spec, as well as the config
cook-book, but the only "example" so to say that I can find, is from the
cook-book where mail is stored in BSMTP and re-injected when the host comes
back online again. This is all very good and nice, but is not what I want.
For the use of this example, it is required that the backup MX server knows
about the outage. Now, call me sceptical, but a Admin of a backup mail
server most definitely do not spend his afternoon sitting in front of a mail
server, and waiting for a primary mail host to stop receiving mail (While of
course sipping on a cup of tea, or his favourite non-alcoholic drink of
course)?

Basically, what I am looking for (I may have missed some steps here, and
recommendations are more than welcome obviously):

1) Mail is received
2) Exim checks if it is primary or secondary mail, to my understanding, this
is achieved with the use of local_domains, and hold_domains.
2.1) Which brings me to another question, hold_domains doesn't work with
mysql lookups
hold_domains = mysql;SELECT DomainName FROM MegaLANDNSZones LEFT JOIN
CompanyDetails ON CompanyDetails.CompanyID=MegaLANDNSZon
es.CompanyID WHERE MegaLANDNSZones.IsBackupMail='1' AND
MegaLANDNSZones.DomainName='$key';

In a exim -d9 -bt some@address, exim checks local_domains, does not find the
domain in local_domains, and hold_domains is never ever checked.... Is this
right / wrong? If wrong, what should be done to fix it... I'd be more than
happy to provide the debug output if needed - I just want to cut on the
length of this message.

3) If it's in local_domains, proceed to process the mail, and deliver /
re-route / whatever the mail as specified in the Exim Directors.
4) If domain's in hold_domains, place the message into the queue, with a
long retry value...

Would this be the right way to implement a backup mail server, and if it is,
then I presume my only problem here, is the fact that my mysql lookup on
hold_domains is never executed?