
Mail::Spool::Node - Mail Spool inode encapsulization

#!/usr/bin/perl -w
package MySpoolNode;
use Mail::Spool::Node;
@ISA = qw(Mail::Spool::Node);
# OR
sub new {
my $self = __PACKAGE__->SUPER::new(@_);
### do my own stuff here
return $self;
}

Mail::Spool::Node is intended as an encapsulization of an inode for use by Mail::Spool::Handle. It has been written with the intent of being able to use a database or other "file" system as a backend.

Properties of Mail::Spool::Node are accessed methods of the same name. They may be set by calling the method and passing the new value as an argument. For example:
my $from = $self->from; $self->from($new_from);
The following properties are available:
Returns the "To" email address of this node.
Returns the "From" email address of this node.
Returns the message id of this node.
Returns the time this node was placed in the spool.
Returns the mail spool handle that this node is in.
Returns the filename of this node in the mail spool handle directory.

Returns a Mail::Spool::Node object. Arguments in the form of a hash or hash ref are used to populate the object. Also calls load_node_properties.
Returns whether the node is eligible for processing. This is based upon how long it has been in the mail spool handle.
Returns the size of the node in bytes.
Locks the node to prevent any other process from trying to write to it. This is done via File::NFSLock. Returns the lock object.
Returns the error of File::NFSLock should something happen during the locking process.
Returns an IO::Handle style object opened to the filename of this node.
Returns the filename of this node.
Returns the place to put this file in case the node could not be sent right now. Returns undef if fallback cannot proceed (undeliverable).
Actually perform the fallback operation.
Unlink the node from the directory.

Please see also Mail::Spool, Mail::Spool::Handle.

Copyright (C) 2001, Paul T Seamons
paul@seamons.com
http://seamons.com/
This package may be distributed under the terms of either the
GNU General Public License
or the
Perl Artistic License
All rights reserved.