NAME
Mail::OpenDKIM - Provides an interface to libOpenDKIM
SYNOPSIS
# sign outgoing message
use Mail::DKIM::Signer;
# create a signer object
my $dkim = Mail::OpenDKIM::Signer->new(
Algorithm => 'rsa-sha1',
Method => 'relaxed',
Domain => 'example.org',
Selector => 'selector1',
KeyFile => 'private.key',
);
# read an email and pass it into the signer, one line at a time
while(<STDIN>) {
# remove local line terminators
chomp;
s/\015$//;
# use SMTP line terminators
$dkim->PRINT("$_\015\012");
}
$dkim->CLOSE();
# what is the signature result?
my $signature = $dkim->signature;
print $signature->as_string;
# check validity of incoming message
my $o = Mail::OpenDKIM->new();
$o->dkim_init();
my $d = $o->dkim_verify({
id => 'MLM',
});
$msg =~ s/\n/\r\n/g;
$d->dkim_chunk({ chunkp => $msg, len => length($msg) });
$d->dkim_chunk({ chunkp => '', len => 0 });
$d->dkim_eom();
my $sig = $d->dkim_getsignature();
$d->dkim_sig_process({ sig => $sig });
printf "0x\n", $d->dkim_sig_getflags({ sig => $sig });
$d->dkim_free();
$o->dkim_close();
DESCRIPTION
Mail::OpenDKIM, coupled with Mail::OpenDKIM::DKIM, provides a means of
calling libOpenDKIM from Perl. Mail::OpenDKIM implements those routine
taking a DKIM_LIB argument; those taking a DKIM argument have been
implemented in Mail::OpenDKIM::DKIM.
Mail::OpenDKIM::Signer provides a drop in replacement for the signature
process provided by Mail::DKIM::Signer.
When an error is encountered, an Error::Simple object is thrown.
SUBROUTINES/METHODS
new
Create a new signing/verifying object. After doing this you will need to
call the dkim_init method before you can do much else.
dkim_init
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_close
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_flush_cache
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_libfeature
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_sign
For further information, refer to http://www.opendkim.org/libopendkim/
Returns a Mail::OpenDKIM::DKIM object.
dkim_verify
For further information, refer to http://www.opendkim.org/libopendkim/
Returns a Mail::OpenDKIM::DKIM object. The memclosure argument is
ignored.
dkim_getcachestats
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_set_dns_callback
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_set_key_lookup
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_set_policy_lookup
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_set_signature_handle
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_set_signature_handle_free
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_set_signature_tagvalues
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_dns_set_query_cancel
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_dns_set_query_service
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_dns_set_query_start
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_dns_set_query_waitreply
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_options
For further information, refer to http://www.opendkim.org/libopendkim/
dkim_libversion
Static method.
dkim_getcachestats
Static method.
EXPORT
Many DKIM_* constants, e.g. DKIM_STAT_OK are exported.
SEE ALSO
Mail::DKIM
http://www.opendkim.org/libopendkim/
RFC 4870, RFC 4871
DEPENDENCIES
This module requires these other modules and libraries:
Test::More
libOpenDKIM 2.3 (http://www.opendkim.org/libopendkim/)
C compiler
NOTES
Tested against libOpenDKIM 2.3.1. Known to fail to compile against 2.2.
Only portions of Mail::DKIM::Signer interface, and the support for it,
have been implemented.
Please report any bugs or feature requests to "bug-mail-opendkim at
rt.cpan.org", or through the web interface at
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Mail-OpenDKIM>. I will
be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
The signature creation rountines have been tested more thoroughly than
the signature verification routines.
Feedback will be greatfully received.
AUTHOR
Nigel Horne
Vick Khera, "<vivek at khera.org>"
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Mail::OpenDKIM
You can also look for information at:
* MailerMailer Project page
<http://www.mailermailer.com/labs/projects/Mail-OpenDKIM.rwp>
* RT: CPAN's request tracker
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Mail-OpenDKIM>
* AnnoCPAN: Annotated CPAN documentation
<http://annocpan.org/dist/Mail-OpenDKIM>
* CPAN Ratings
<http://cpanratings.perl.org/d/Mail-OpenDKIM>
* Search CPAN
<http://search.cpan.org/dist/Mail-OpenDKIM/>
SPONSOR
This code has been developed under sponsorship of MailerMailer LLC,
http://www.mailermailer.com/
COPYRIGHT AND LICENCE
This module is Copyright 2013 Khera Communications, Inc. It is licensed
under the same terms as Perl itself.