|
NAMEMail::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();
DESCRIPTIONMail::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/METHODSnewCreate a new signing/verifying object. After doing this you will need to call the dkim_init method before you can do much else. dkim_initFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_closeFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_flush_cacheFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_libfeatureFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_signFor further information, refer to http://www.opendkim.org/libopendkim/ Returns a Mail::OpenDKIM::DKIM object. dkim_verifyFor further information, refer to http://www.opendkim.org/libopendkim/ Returns a Mail::OpenDKIM::DKIM object. The memclosure argument is ignored. dkim_getcachestatsFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_set_dns_callbackFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_set_key_lookupFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_set_signature_handleFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_set_signature_handle_freeFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_set_signature_tagvaluesFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_dns_set_query_cancelFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_dns_set_query_serviceFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_dns_set_query_startFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_dns_set_query_waitreplyFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_optionsFor further information, refer to http://www.opendkim.org/libopendkim/ dkim_libversionStatic method. dkim_ssl_versionStatic method. dkim_getcachestatsStatic method. dkim_getresultstrCalls C routine of same name. dkim_sig_geterrorstrCalls C routine of same name. dkim_mail_parseCalls C routine of same name. EXPORTMany DKIM_* constants, e.g. DKIM_STAT_OK are exported. SEE ALSOMail::DKIM http://www.opendkim.org/libopendkim/ RFC 4870, RFC 4871 REPOSITORY<https://github.com/infracaninophile/Mail-OpenDKIM.git> DEPENDENCIESThis module requires these other modules and libraries: Test::More libOpenDKIM 2.10 (http://www.opendkim.org/libopendkim/) C compiler NOTESTested against libOpenDKIM 2.10.3. 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. AUTHORNigel Horne Vick Khera, "<vivek at khera.org>" Matthew Seaman, "<m.seaman@infracaninophile.co.uk>" SUPPORTYou can find documentation for this module with the perldoc command. perldoc Mail::OpenDKIM You can also look for information at:
SPONSORThis code has been developed under sponsorship of MailerMailer LLC, http://www.mailermailer.com/ COPYRIGHT AND LICENCEThis module is Copyright 2014 Khera Communications, Inc. Copyright 2015 Matthew Seaman It is licensed under the same terms as Perl itself.
|