NAME
Mail::Folder::Mbox - A Unix mbox interface for Mail::Folder.
WARNING: This code is in alpha release. Expect the interface to change.
SYNOPSYS
use Mail::Folder::Mbox;
DESCRIPTION
This module provides an interface to unix mbox folders.
The mbox folder format is the standard monolithic folder structure prevalent on Unix. A single folder is contained within a single file. Each message starts with a line matching /^From /
.
The folder architecture doesn't provide any persistantly stored current message variable, so the current message in this folder interface defaults to 1
and is not retained between open
s of a folder.
METHODS
init()
Initializes various items specific to emaul.
Determines an appropriate temporary directory.
Bumps a sequence number used for unique temporary filenames.
Initializes
$self->{WorkingFile}
to the name of a file that will be used to hold the temporary working of the folder.Initializes
$self->{MsgFilePrefix}
to a string that will be used to create temporary filenames when extracting messages from the folder.
open($folder_name)
Call the superclass
open
method.Lock the folder.
Copy the folder to a temporary location as a working copy.
Unlock the folder.
For every message in the folder, add the message_number to the object's list of messages.
close()
Deletes the working copy of the folder and calls the superclass close
method.
sync()
Call the superclass
sync
methodLock the folder
Append new messages to the working copy that have been appended to the folder since the last time the folder was either
open
ed orsync
ed.Create a new copy of the folder and populate it with the messages in the working copy that aren't flagged for deletion.
Move the original folder to a temp location
Move the new folder into place
Delete the old original folder
Unlock the folder
pack()
Calls the superclass pack
method. This is essentially a no-op since mbox folders don't need to be packed.
get_message($msg_number)
Call the superclass
get_message
method.Create a temporary file with the contents of the given mail message.
Absorb the temporary file into a Mail::Internet object reference.
Delete the temporary file.
Return the Mail::Internet object reference.
get_header($msg_number)
If the particular header has never been retrieved then get_header
loads (in a manner similar to get_message
) the header of the given mail message into $self->{Headers}{$msg_number}
and returns the object reference.
If the header for the given mail message has already been retrieved in a prior call to get_header
, then the cached entry is returned.
It also calls the superclass get_header
method.
append_message($message_ref)
Call the superclass
append_message
method.Lock the folder.
Append the contents of
$message_ref
to the folder.Adds a record of the new message in the internal data structures of
$self
.Unlock the folder.
update_message($msg_number, $message_ref)
Call the superclass
update_message
method.Writes a new copy of the working folder file replacing the given message with the contents of the given Mail::Internet message reference.
AUTHOR
Kevin Johnson <kjj@primenet.com>
COPYRIGHT
Copyright (c) 1996 Kevin Johnson <kjj@primenet.com>.
All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
12 POD Errors
The following errors were encountered while parsing the POD:
- Around line 57:
'=item' outside of any '=over'
- Around line 82:
You forgot a '=back' before '=head2'
- Around line 84:
'=item' outside of any '=over'
- Around line 142:
You forgot a '=back' before '=head2'
- Around line 158:
'=item' outside of any '=over'
- Around line 284:
You forgot a '=back' before '=head2'
- Around line 299:
'=item' outside of any '=over'
- Around line 338:
You forgot a '=back' before '=head2'
- Around line 383:
'=item' outside of any '=over'
- Around line 420:
You forgot a '=back' before '=head2'
- Around line 422:
'=item' outside of any '=over'
- Around line 535:
You forgot a '=back' before '=head1'