Mail::Folder::Maildir.3pm

Langue: en

Version: 1998-04-05 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

Mail::Folder::Maildir - A maildir folder interface for Mail::Folder.

WARNING: This code is in alpha release. Expect the interface to change.

SYNOPSIS

"use Mail::Folder::Maildir;"

DESCRIPTION

This module provides an interface to the maildir folder mechanism.

The maildir folder format is the preferred folder mechanism for the qmail mail transport agent. It uses directories as folders and files as messages. It also provides separate directories for new and current messages. One of the most distinguishing features of the "maildir" format is that it accomplishes it's job without the need for file locking, so it's better equipped to deal with things like nfs mounts and the like.

More information about qmail is available from "http://pobox.com/~djb/qmail.html".

METHODS


open($folder_name)

Populates the "Mail::Folder" object with information about the folder.

Call the superclass "open" method.
Make sure it is a valid maildir folder.
Detect whether the folder is readonly.
Clean the folder "tmp" directory.
Move message in folder "new" directory into the "cur" directory.
Clean up the folder "tmp" directory.
Moves message file in "new" directory to the "cur" directory.
For every message in the folder, add a new message number to the list of messages in the object, and remember the association between the message number and the message filename.
Set "current_message" to 1 (ugh).

close

Deletes the working copy of the folder and calls the superclass "close" method.

sync

Call the superclass "sync" method.
Scan for new messages and absorb them.
If the folder is not readonly, expunge messages marked for deletion.
Update the ":info" portion of each file in the folder.
Return the quantity of new messages found.

pack

Calls the superclass "pack" method. Reassociates the filenames in the folders to message numbers, deleting holes in the sequence of message numbers.

get_message($msg_number)

Call the superclass "get_message" method.

Retrieves the contents of the file pointed to by $msg_number into a Mail::Internet object reference, caches the header, marks the message as '"seen"' and returns the reference.

get_message_file($msg_number)

Call the superclass "get_message_file" method.

Retrieves the given mail message file pointed to by $msg_number and returns the name of the file.

get_header($msg_number)

If the particular header has never been retrieved then "get_header" loads the header of the given mail message into a member of "$self->{Messages}{$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.

append_message($mref)

Calls the superclass "append_message" method.

Writes a temporary copy of the message in $mref to the folder "tmp" directory, then moves that temporary copy into the folder "cur" directory.

It will delete the "From_" line in the header if one is present.

update_message($msg_number, $mref)


update_message($msg_number, $mref)

Calls the superclass "update_message" method.

Writes a temporary copy of the message in $mref to the folder "tmp" directory, then moves that temporary copy into the folder "cur" directory, replacing the message pointed to by $msg_number.

It will delete the "From_" line in the header if one is present.

is_valid_folder_format($foldername)

Returns 1 if the folder is a directory and contains "tmp", "cur", and "new" subdirectories otherwise returns 0.

create($foldername)

Creates a new folder named $foldername. Returns 0 if the folder already exists, otherwise returns 1.

AUTHOR

Kevin Johnson <kjj@pobox.com> Copyright (c) 1996-1998 Kevin Johnson <kjj@pobox.com>.

All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:
Around line 183:
You forgot a '=back' before '=head2'