The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mail::OpenDKIM::Signer - generates a DKIM signature for a message

SYNOPSIS

  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;

DESCRIPTION

Use this class to generate a signature for inclusion in the header of an email.

It provides enough of a subset of the functionaility of Mail::DKIM::Signer to allow use of the OpenDKIM library with simple drop-in replacements. Mail::OpenDKIM::Signer offloads the signing work to the OpenDKIM library, and is therefore far quicker.

SUBROUTINES/METHODS

new

Creates the signer.

PRINT

Feed part of the message to the signer.

CLOSE

Call this when when you have finished feeding in the message to the signer.

signature

Access the generated Mail::OpenDKIM::Signature object.

dkim_options

For further information, refer to http://www.opendkim.org/libopendkim/

EXPORT

This module exports nothing.

SEE ALSO

Mail::DKIM::Signer

NOTES

This module does not yet implement all of the API of Mail::DKIM::Signer

The PRINT method is expensive. To increase performance we recommend that you minimise the number of calls to this function, perhaps by storing the message in a buffer before passing it to this function.

AUTHOR

Nigel Horne, <nigel at mailermailer.com>

BUGS

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.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Mail::OpenDKIM::Signer

You can also look for information at:

SPONSOR

This code has been developed under sponsorship of MailerMailer LLC, http://www.mailermailer.com/

COPYRIGHT AND LICENCE

This module is Copyright 2011 Khera Communications, Inc. It is licensed under the same terms as Perl itself.