NAME

Mail::GnuPG - Process email with GPG.

SYNOPSIS

use Mail::GnuPG;
my $mg = new Mail::GnuPG( key => 'ABCDEFGH' );
$ret = $mg->mime_sign( $MIMEObj, "you@my.dom" );

DESCRIPTION

Use GnuPG::Interface to process or create PGP signed or encrypted email.

new

 Create a new Mail::GnuPG instance.

Arguments:
  Paramhash...

  key    => gpg key id
  keydir => gpg configuration/key directory
  passphrase => primary key password

  # FIXME: we need more things here, maybe primary key id.

decrypt

Decrypt an encrypted message

Input:
  MIME::Entity containing email message to decrypt.

 The message can either be in RFC compliant-ish multipart/encrypted
 format, or just a single part ascii armored message.

Output:
 Exit code of gpg.  (0 on success)

 $self->{last_message} => any errors from gpg
 $self->{plaintext}    => plaintext output from gpg
 $self->{decrypted}    => parsed output as MIME::Entity

verify

verify a signed message

Input:
  MIME::Entity containing email message to verify.

 The message can either be in RFC compliant-ish multipart/signed
 format, or just a single part ascii armored message.

Output:
 Exit code of gpg.  (0 on success)

 $self->{last_message} => any errors from gpg

has_public_key

Does the keyring have a public key for the specified email address?

FIXME: document better.  talk about caching.  maybe put a better
interface in.

mime_sign

 sign an email message

Input:
  MIME::Entity containing email message to sign

Output:
 Exit code of gpg.  (0 on success)

 $self->{last_message} => any errors from gpg

 The provided $entity will be signed.  (i.e. it _will_ be modified.)

mime_encrypt

 encrypt an email message

Input:
  MIME::Entity containing email message to encrypt
  list of email addresses to sign to

Output:
 Exit code of gpg.  (0 on success)

 $self->{last_message} => any errors from gpg

 The provided $entity will be encrypted.  (i.e. it _will_ be modified.)

mime_signencrypt

 sign and encrypt an email message

Input:
  MIME::Entity containing email message to sign encrypt
  list of email addresses to sign to

Output:
 Exit code of gpg.  (0 on success)

 $self->{last_message} => any errors from gpg

 The provided $entity will be encrypted.  (i.e. it _will_ be modified.)

LICENSE

Copyright 2003 Best Practical Solutions, LLC

This program is free software; you can redistribute it and/or modify it under the terms of either:

a) the GNU General Public License as published by the Free
Software Foundation; version 2
http://www.opensource.org/licenses/gpl-license.php

b) the "Artistic License"
http://www.opensource.org/licenses/artistic-license.php

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details.

AUTHOR

Robert Spier

SEE ALSO

perl.

GnuPG::Interface,

MIME::Entity