The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mail::Box::Mbox::Message - one message in a Mbox folder

INHERITANCE

 Mail::Box::Mbox::Message
   is a Mail::Box::File::Message
   is a Mail::Box::Message
   is a Mail::Message
   is a Mail::Reporter

SYNOPSIS

 my $folder  = new Mail::Box::Mbox folder => $ENV{MAIL}, ...;
 my $message = $folder->message(0);

DESCRIPTION

Maintain one message in an Mail::Box::Mbox folder.

METHODS

Constructors

$obj->clone

Mail::Box::Mbox::Message->coerce(MESSAGE)

Mail::Box::Mbox::Message->new(OPTIONS)

Constructing a message

$obj->bounce([RG-OBJECT|OPTIONS])

Mail::Box::Mbox::Message->build([MESSAGE|BODY], CONTENT)

Mail::Box::Mbox::Message->buildFromBody(BODY, [HEAD], HEADERS)

$obj->forward(OPTIONS)

$obj->forwardPostlude

$obj->forwardPrelude

$obj->forwardSubject(STRING)

Mail::Box::Mbox::Message->read(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)

$obj->rebuild(OPTIONS)

$obj->reply(OPTIONS)

$obj->replyPrelude([STRING|FIELD|ADDRESS])

$obj->replySubject(STRING)

Mail::Box::Mbox::Message->replySubject(STRING)

The Message

$obj->container

$obj->isDummy

$obj->isPart

$obj->messageId

$obj->print([FILEHANDLE])

$obj->send([MAILER], OPTIONS)

$obj->size

$obj->toplevel

$obj->write([FILEHANDLE])

The header

$obj->bcc

$obj->cc

$obj->date

$obj->destinations

$obj->from

$obj->get(FIELDNAME)

$obj->guessTimestamp

$obj->head([HEAD])

$obj->nrLines

$obj->sender

$obj->study(FIELDNAME)

$obj->subject

$obj->timestamp

$obj->to

The body

$obj->body([BODY])

$obj->decoded(OPTIONS)

$obj->encode(OPTIONS)

$obj->isMultipart

$obj->isNested

$obj->parts(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])

The message

$obj->copyTo(FOLDER)

$obj->folder([FOLDER])

$obj->fromLine([LINE])

$obj->moveTo(FOLDER)

$obj->seqnr([INTEGER])

Flags

$obj->delete

$obj->deleted([BOOLEAN])

$obj->isDeleted

$obj->isModified

$obj->label(LABEL [,VALUE [LABEL, VALUE] ])

$obj->labels

$obj->modified([BOOLEAN])

The whole message as text

$obj->file

$obj->lines

$obj->printStructure([FILEHANDLE][, INDENT])

$obj->string

Internals

$obj->diskDelete

$obj->fileLocation

$obj->isDelayed

$obj->loadBody

$obj->moveLocation(DISTANCE)

$obj->readBody(PARSER, HEAD [, BODYTYPE])

$obj->readFromParser(PARSER)

$obj->readHead(PARSER [,CLASS])

$obj->recursiveRebuildPart(PART, OPTIONS)

$obj->storeBody(BODY)

$obj->takeMessageId([STRING])

Error handling

$obj->AUTOLOAD

$obj->defaultTrace([LEVEL, [LEVEL])

Mail::Box::Mbox::Message->defaultTrace([LEVEL, [LEVEL])

$obj->errors

$obj->log([LEVEL [,STRINGS]])

Mail::Box::Mbox::Message->log([LEVEL [,STRINGS]])

$obj->logPriority(LEVEL)

Mail::Box::Mbox::Message->logPriority(LEVEL)

$obj->logSettings

$obj->notImplemented

$obj->report([LEVEL])

$obj->reportAll([LEVEL])

$obj->shortSize([VALUE])

Mail::Box::Mbox::Message->shortSize([VALUE])

$obj->shortString

$obj->trace([LEVEL])

$obj->warnings

Cleanup

$obj->DESTROY

$obj->destruct

$obj->inGlobalDestruction

Labels

$obj->labelsToStatus

    When the labels were changed, that may effect the Status and/or X-Status header lines of mbox messages. Read about the relation between these fields and the labels in the DETAILS chapter.

    The method will carefully only affect the result of modified() when there is a real change of flags, so not for each call to label().

$obj->statusToLabels

    Update the labels according the status lines in the header. See the description in the DETAILS chapter.

DIAGNOSTICS

Error: Cannot include forward source as $include.

Unknown alternative for the forward(include). Valid choices are NO, INLINE, and ATTACH.

Error: Cannot include reply source as $include.

Unknown alternative for the include option of reply(). Valid choices are NO, INLINE, and ATTACH.

Error: No address to create forwarded to.

If a forward message is created, a destination address must be specified.

Error: No default mailer found to send message.

The message send() mechanism had not enough information to automatically find a mail transfer agent to sent this message. Specify a mailer explicitly using the via options.

Error: Package $package does not implement $method.

Fatal error: the specific package (or one of its superclasses) does not implement this method where it should. This message means that some other related classes do implement this method however the class at hand does not. Probably you should investigate this and probably inform the author of the package.

Error: Unable to read delayed body.

Error: no rebuild rule $name defined.

DETAILS

Labels

Status and X-Status fields

Mbox folders have no special means of storing information about messages (except the message separator line), and therefore have to revert to adding fields to the message header when something special comes up.

Most applications which can handle mbox folders support the Status and X-Status field convensions which are implemented by Mail::Box::Mbox. The following encoding is used:

 Flag   Field       Label
 R      Status   => seen    (Read)
 O      Status   => old     (not recent)
 A      X-Status => replied (Answered)
 F      X-Status => flagged

There is no special flag for deleted, which most other folders support: messages flagged to be deleted will never be written to a folder file when it is closed.

REFERENCES

See the MailBox website at http://perl.overmeer.net/mailbox/ for more details.

COPYRIGHTS

Distribution version 2.046. Written by Mark Overmeer (mark@overmeer.net). See the ChangeLog for other contributors.

Copyright (c) 2001-2003 by the author(s). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.