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::File::Message - one message in a Mbox folder

CLASS INHERITANCE

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

Mail::Box::File::Message is extended by Mail::Box::Mbox::Message

SYNOPSIS

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

DESCRIPTION

Maintain one message in an file-based folder.

METHODS

Initiation

new OPTIONS

Messages in file-based folders use the following options for creation:

 OPTION               DEFAULT
 body                 undef
 body_type            <from folder>
 deleted              <false>
 field_type           undef
 folder               <required>
 from_line            undef
 head                 undef
 head_type            'Mail::Message::Head::Complete'
 log                  'WARNINGS'
 messageId            undef
 modified             <false>
 size                 undef
 trace                'WARNINGS'
 trusted              <false>
body => OBJECT

See Mail::Message::new(body)

body_type => CODE|CLASS

See Mail::Box::Message::new(body_type)

deleted => BOOLEAN

See Mail::Box::Message::new(deleted)

field_type => CLASS

See Mail::Message::new(field_type)

folder => FOLDER

See Mail::Box::Message::new(folder)

from_line => STRING

The line which begins each message in the file. Some people detest this line, but this is just how things were invented...

head => OBJECT

See Mail::Message::new(head)

head_type => CLASS

See Mail::Message::new(head_type)

log => LEVEL

See Mail::Reporter::new(log)

messageId => STRING

See Mail::Message::new(messageId)

modified => BOOLEAN

See Mail::Message::new(modified)

size => INTEGER

See Mail::Box::Message::new(size)

trace => LEVEL

See Mail::Reporter::new(trace)

trusted => BOOLEAN

See Mail::Message::new(trusted)

Constructing a Message

bounce RG-OBJECT|OPTIONS

See Mail::Message::Construct::bounce()

build [MESSAGE|BODY], CONTENT

See Mail::Message::Construct::build()

buildFromBody BODY, HEADERS

See Mail::Message::Construct::buildFromBody()

coerce MESSAGE

See Mail::Box::Message::coerce()

forward OPTIONS

See Mail::Message::Construct::forward()

forwardPostlude

See Mail::Message::Construct::forwardPostlude()

forwardPrelude

See Mail::Message::Construct::forwardPrelude()

forwardSubject STRING

See Mail::Message::Construct::forwardSubject()

reply OPTIONS

See Mail::Message::Construct::reply()

replyPrelude [STRING|FIELD|ADDRESS]

See Mail::Message::Construct::replyPrelude()

replySubject STRING

See Mail::Message::Construct::replySubject()

The Message

clone

See Mail::Message::clone()

copyTo FOLDER

See Mail::Box::Message::copyTo()

folder [FOLDER]

See Mail::Box::Message::folder()

isDummy

See Mail::Message::isDummy()

isPart

See Mail::Message::isPart()

messageId

See Mail::Message::messageId()

modified [BOOLEAN]

See Mail::Message::modified()

moveTo FOLDER

See Mail::Box::Message::moveTo()

parent

See Mail::Message::parent()

Write one message to a file handle. Unmodified messages are taken from the folder-file where they were stored. Modified messages are written to memory. Specify a FILEHANDLE to write to (defaults to the selected handle).

send [MAILER], OPTIONS

See Mail::Message::send()

seqnr [INTEGER]

See Mail::Box::Message::seqnr()

size

See Mail::Message::size()

toplevel

See Mail::Message::toplevel()

The Header

head [HEAD]

See Mail::Message::head()

Header Shortcuts

bcc

See Mail::Message::bcc()

cc

See Mail::Message::cc()

date

See Mail::Message::date()

destinations

See Mail::Message::destinations()

from

See Mail::Message::from()

get FIELD

See Mail::Message::get()

guessTimestamp

See Mail::Message::guessTimestamp()

nrLines

See Mail::Message::nrLines()

sender

See Mail::Message::sender()

subject

See Mail::Message::subject()

timestamp

See Mail::Message::timestamp()

to

See Mail::Message::to()

The Body

body [BODY]

See Mail::Message::body()

decoded OPTIONS

See Mail::Message::decoded()

encode OPTIONS

See Mail::Message::encode()

isMultipart

See Mail::Message::isMultipart()

parts ['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER]

See Mail::Message::parts()

Access to the Message

file

See Mail::Message::Construct::file()

lines

See Mail::Message::Construct::lines()

string

See Mail::Message::Construct::string()

Labels

delete

See Mail::Box::Message::delete()

deleted [BOOLEAN]

See Mail::Box::Message::deleted()

label LABEL [,VALUE [LABEL, VALUE] ]

See Mail::Message::label()

labels

See Mail::Message::labels()

Reading and Writing [internals]

DESTROY

See Mail::Message::DESTROY()

fileLocation

Returns the location of the whole message including the from-line. In LIST context, both begin and end are returned. In SCALAR context, only the begin is passed back.

fromLine [LINE]

Many people detest file-style folders because they store messages all in one file, where a line starting with From leads the header. If we receive a message from a file-based folder, we store that line. If we write to such a file, but there is no such line stored, then we try to generate one.

If LINE is provided, then the starting line is set to this value.

isDelayed

See Mail::Message::isDelayed()

labelsToStatus

See Mail::Message::labelsToStatus()

loadBody
moveLocation DISTANCE

The message is relocated in the file, being moved over DISTANCE bytes. Setting a new location will update the according information in the header and body.

read PARSER

Read one message from a Mbox folder, including the message separator.

readFromParser PARSER, [BODYTYPE]

See Mail::Message::readFromParser()

readHead PARSER [,CLASS]

See Mail::Message::readHead()

statusToLabels

See Mail::Message::statusToLabels()

storeBody BODY

See Mail::Message::storeBody()

takeMessageId [STRING]

See Mail::Message::takeMessageId()

Logging and Tracing

defaultTrace [LEVEL, [LEVEL]

See Mail::Reporter::defaultTrace()

diskDelete

See Mail::Box::Message::diskDelete()

errors

See Mail::Reporter::errors()

log [LEVEL [,STRINGS]]

See Mail::Reporter::log()

printStructure [FILEHANDLE][, INDENT]

See Mail::Message::Construct::printStructure()

readBody PARSER, HEAD [, BODYTYPE]

See Mail::Box::Message::readBody()

report [LEVEL]

See Mail::Reporter::report()

reportAll [LEVEL]

See Mail::Reporter::reportAll()

shortString

See Mail::Box::Message::shortString()

trace [LEVEL]

See Mail::Reporter::trace()

warnings

See Mail::Reporter::warnings()

Other Methods

AUTOLOAD

See Mail::Reporter::AUTOLOAD()

inGlobalDestruction

See Mail::Reporter::inGlobalDestruction()

logPriority LEVEL

See Mail::Reporter::logPriority()

logSettings

See Mail::Reporter::logSettings()

notImplemented

See Mail::Reporter::notImplemented()

SEE ALSO

A good start to read is Mail::Box-Overview. More documentation and a mailinglist are available from the project's website at http://perl.overmeer.net/mailbox/.

AUTHOR

Mark Overmeer (mark@overmeer.net) with the help of many.

VERSION

This code is beta, version 2.025.

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