Nou, dan praat ik wel met mezelf ;-)
Dit is een soort van oplossing, maak expliciet dat je versie 1 van spfquery wilt. En pas dan tegelijk even de syntax aan. Met die "-v 1" optie komt het goede antwoord op de warn regel. Nog beter zou zijn als ik die syntax aan versie 2 aanpas. Dat volgt, wellicht. condition = ${run{/usr/bin/spfquery -v 1 --ip \"$sender_host_address\" -s \"$sender_address\" --helo-id \"$sender_helo_name\"}\ {no}{${if eq {$runrc}{1}{yes}{no}}}} On 17 June 2020 09:57 Gijs Hillenius, wrote: > Goedenmorgen > > Is er hier iemand die Debian's Exim macro's kan spellen? > > Al jaren terug stelde ik de standaard regeltjes voor SPF in, maar het > val me nu pas op dat de check altijd "none" oplevert. > > Kan iemand die regel met me meelezen? Is het omdat de query meer > teruggeeft dan 1 woord? De query geeft 4 regels terug, maar de eerste > regel is het "gezochte" antwoord. > > Hier het blok in exim4.conf.template > > > # Use spfquery to perform a pair of SPF checks > # This is quite costly in terms of DNS lookups (~6 lookups per mail). Do > not > # enable if that's an issue. > # required: > # apt install spf-tools-perl > # and (for monolithic conf file, set CHECK_RCPT_SPF=true in > exim4.conf.localmacros > .ifdef CHECK_RCPT_SPF > deny > message = [SPF] $sender_host_address is not allowed to send mail from > ${if def:sender_address_domain {$sender_address_domain}{$sender_helo_name}}. > \ > Please check your SPF set-up > log_message = SPF check failed. > condition = ${run{/usr/bin/spfquery --ip \"$sender_host_address\" > --mail-from \"$sender_address\" --helo \"$sender_helo_name\"}\ > {no}{${if eq {$runrc}{1}{yes}{no}}}} > > defer > message = Temporary DNS error while checking SPF record. Try again later. > condition = ${if eq {$runrc}{5}{yes}{no}} > > warn > condition = ${if <={$runrc}{6}{yes}{no}} > message = :at_start:Received-SPF: ${if eq {$runrc}{0}{pass}\ > {${if eq {$runrc}{2}{softfail}\ > {${if eq {$runrc}{3}{neutral}\ > {${if eq {$runrc}{4}{unknown}\ > {${if eq {$runrc}{6}{none}{error}}}}}}}}}\ > } client-ip=$sender_host_address; \ > ${if def:sender_address_domain \ > {envelope-from=${sender_address}; }{}}\ > helo=$sender_helo_name > > warn > log_message = Unexpected error in SPF check. > condition = ${if >{$runrc}{6}{yes}{no}} > .endif > > > > > En dan nog dit: Ik ben mijn SPF regeltjes aan het bijschaven. > > De afgelopen dagen geleerd dat Debian's versie van Exim nog geen SPF > ondersteuning meelevert, maar Ubuntu wel. En ook dat Debian's Exim macro > verwijst naar een externe tool die niet meer in Debian zit > (libmail-spf-query-per ipv spf-tools-perl). Dit is al aangepast in de > Wiki, gelukkig. > > Dat de standaard filter (uit spec.text.gz) verwijst naar > http://www.openspf.org/Why?scope= ... die website is nu ongeveer 1,5 > jaar terug uit de lucht. > > Het commentaar hierboven verwijst daarom niet meer naar die SPF site; en > da's ook verwijderd uit de deny regel. > > Ik voegde een :at_start: toe aan de warn regel, en ook een berichtje om > te testen dat deze header echt het resultaat is van die warn check. Maar > de if 0 if 2 if 3 levert altijd none als antwoord. Als ik de spfguery > nakijk, voor bijvoorbeeld gmail, is het antwoord "pass". > -- It's amazing how many people you could be friends with if only they'd make the first approach.