Hi,

I added DKIM signatures via filter_wrapup() but I'm seeing weirdness when 
mailing mailing lists and autoresponders where the DKIM signature seems to 
appear to be part of the message.

I can post the function if that helps.

Right now, I thought it would help if I wrote the modified message to a file, 
but the header that I added via action_add_header() doesn't present when I call 
$entity->stringily() and write that to a flat file.

Something like:

    my $dkim = Mail::DKIM::Signer->new(
    ...
    );

    if (open(TOSIGN, "<INPUTMSG")) {
        while (<TOSIGN>) {
            chomp;
            s/\r$//;

            $dkim->PRINT("$_\r\n");
        }
        $dkim->CLOSE();

        md_syslog('debug', "Adding DKIM header");

        my ($header, $signature) = split(/:\s+/i, 
$dkim->signature()->as_string(), 2);
        $signature =~ s/\r\n/\n\g;

        action_add_header($header, $signature);

        if (@Recipients == 1 && focus($Recipients[0]) eq '[email protected]') {
            open(COPY, ">/tmp/signed.eml");
            print COPY $entity->stringify();
            close(COPY);
        }
    }
}


But when I look at the logs and the file, the logs say the header was added... 
but the flat file written out shows otherwise.

What am I doing wrong?

Looking at the documentation, it says:

5) After filter_end returns, the function filter_wrapup is called if it has 
been defined. It is passed a single argument consisting of the (possibly 
modified) MIME::Entity object representing the message about to be delivered, 
including any modifications made in filter_end. Within filter_wrapup, you can 
not call functions that modify the message body, but you can still add or 
modify message headers.

But also:

action_add_header(\$hdr, \$val)Add a header to the message. This can be used in 
filter_begin or filter_end. The \$hdr component is the header name without the 
colon, and the \$val is the header value. For example, to add the header:
<!-- -->

    X-MyHeader: A nice piece of text

use:
    action_add_header("X-MyHeader", "A nice piece of text");


Wait, what?  We "can still add or modify message headers", but 
action_add_header() doesn't seem to be callable from within filter_wrapup(), 
only filter_begin() and filter_end().

Is there another way we're expected to add headers?

Thanks,

-Philip



_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

MIMEDefang mailing list [email protected]
https://lists.mimedefang.org/mailman/listinfo/mimedefang_lists.mimedefang.org

Reply via email to