package Mail::Audit::List; use Mail::Audit; use vars q(@VERSION); $VERSION = '1.8'; 1; package Mail::Audit; use strict; use Mail::ListDetector; my $DEFAULT_DIR = $ENV{HOME} . "/mail"; sub list_accept { my $self = shift; my $dir = shift; $dir ||= $DEFAULT_DIR; my $list = new Mail::ListDetector($self->{obj}); if (!(defined $list)) { return 0; } else { my $name = $list->listname; $name =~ tr/A-Za-z0-9_-//dc; my $deliver_filename = join '/', $dir, $name; $self->accept($deliver_filename); return $deliver_filename; } } 1; __END__ =pod =head1 NAME Mail::Audit::List - Mail::Audit plugin for automatic list delivery =head1 SYNOPSIS use Mail::Audit qw(List); my $mail = Mail::Audit->new; ... $mail->list_accept || $main->accept; =head1 DESCRIPTION This is a Mail::Audit plugin which provides a method for automatically delivering mailing lists to a suitable mainbox. It requires the CPAN C module. =head2 METHODS =over 4 =item C Attempts to deliver the message as a mailing list. It will place each message in C<$deliver_dir/$list_name>. The default value of C<$deliver_dir> is C<$ENV{HOME} . "/mail">. For instance, mail to C will end up by default in F. Calls C and returns the filename delivered to if C can identify this mail as coming from a mailing list, or 0 otherwise. The recipe given above should be able to replace a great number of special-casing recipes. =head1 AUTHOR Michael Stevens =head1 SEE ALSO L