Mail::DKIM - Signs/verifies Internet mail with DKIM/DomainKey signatures
# verify a message use Mail::DKIM::Verifier; # create a verifier object my $dkim = Mail::DKIM::Verifier->new(); # read an email from stdin, pass it into the verifier while (<STDIN>) { # remove local line terminators chomp; s/\015$//; # use SMTP line terminators $dkim->PRINT("$_\015\012"); } $dkim->CLOSE; # what is the result of the verify? my $result = $dkim->result;
This Perl module is part of the dkimproxy program, located at http://jason.long.name/dkimproxy/. I've tried to abstract out the DKIM parts into this module, for use in other programs.
The Mail::DKIM module uses an object-oriented interface. You use one of two different classes, depending on whether you are signing or verifying a message. To sign, use the Mail::DKIM::Signer class. To verify, use the Mail::DKIM::Verifier class. Simple, eh?
Mail::DKIM::Signer, Mail::DKIM::Verifier
http://jason.long.name/dkimproxy/
The DKIM standard is still in development, so by the time you read this, this module may already be broken with regards to the latest DKIM specification.
The "sender signing policy" component is still under construction. The sender signing policy is supposed to identify the practice of the message author, so you could for example reject a message from an author who claims they always sign their messages. See Mail::DKIM::Policy.
Jason Long, <jlong@messiah.edu>
Copyright (C) 2006-2007 by Messiah College
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.