Email::Delete - Delete Messages from Folders


Email-Delete documentation  | view source Contained in the Email-Delete distribution.

Index


NAME

Top

Email::Delete - Delete Messages from Folders

VERSION

Top

version 2.001

  $Id: Delete.pm,v 1.2 2004/12/17 18:45:50 cwest Exp $

SYNOPSIS

Top

  use Email::Delete qw[delete_message];

  my $message_id = shift @ARGV;

  delete_message from     => $ENV{MAIL},
                 matching => sub {
                   my $message = shift;
                   $message->header('Message-ID') =~ $message_id;
                 };

DESCRIPTION

Top

This software will delete messages from a given folder if the test returns true.

delete_message

  delete_message from     => 'folder_name',
                 with     => 'My::Delete::Package',
                 matching => sub { return_true_for_delete() };

from is a required parameter, a string containing the folder name to delete from. By default Email::FolderType is used to determine what package to use when deleting a message. To override the default, specify the with parameter. Your package's delete_message function will be called with the same arguments that delete_message from Email::Delete is called with.

matching is a required argument. Its value is a code reference. If the anonymouse subroutine returns a true value, the current message is deleted. Each message is passed to the matching test in turn. The first and only argument to matching is an Email::Simple object representing the message.

If you should ever want to stop processing a mailbox, just call die from your code reference. A proper deleting package will not delete mail until all the messages have been scanned. So if you throw an exception, your mail will be preserved and scanning will be aborted.

SEE ALSO

Top

Email::Simple, Email::Folder, Email::LocalDelivery, perl.

AUTHOR

Top

Casey West, <casey@geeknest.com>.

COPYRIGHT

Top


Email-Delete documentation  | view source Contained in the Email-Delete distribution.