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.