Greetings.
Is anyone aware of something that would break DKIM validation when called via
Client::process()?
I noticed recently, when troubleshooting a DMARC issue, that all of my emails
going through the spam checker were failing with DKIM_INVALID. After a bunch
of troubleshooting, including having a copy of the message written out to a
file in /tmp, I’m pretty certain that something is mangling the body of the
message when it is called via the process() method.
Specifically, this works:
spamassassin -t --debug=dkim < /tmp/bar
Oct 22 11:28:22.572 [209158] dbg: dkim: DKIM signature verification
result: PASS
But, with the exact same data, this fails (code snippet to show how I’m
creating the file):
open(TMP, ">/tmp/bar");
print TMP $data;
close TMP;
my $result = $spamas->process( $data );
Oct 22 11:27:40.064 [208834] dbg: dkim: DKIM signature
verification result: FAIL (BODY HAS BEEN ALTERED)
I’m kinda scratching my head. It must be happening somewhere in the processing
on $data when it enters the system via the process() routine.
I dug around a little bit in the code to see if anything obvious presented
itself, but figured I’d see if anyone in the community has run into this
before. My perl is getting pretty rusty these days.
Thanks,
David.