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.