OVERLOADED

overload: ""
See "" in Mail::Message::Head.
overload: bool
See bool in Mail::Message::Head.

METHODS

See METHODS in Mail::Reporter

Constructors

$class->build( [PAIR|$field], ... )
See build in Mail::Message::Head::Complete.
$obj->clone( [@names|ARRAY|Regexps] )
See clone in Mail::Message::Head::Complete.
$class->new( [$arg], %options )

The $arg is an array with header lines.

Option Defined in Default

FoldLength

79

MailFrom

'KEEP'

Modify

<false>

field_type

Mail::Message::Head

Mail::Message::Field::Fast

log

Mail::Reporter

'WARNINGS'

message

Mail::Message::Head

undef

modified

Mail::Message::Head

<false>

trace

Mail::Reporter

'WARNINGS'

FoldLength => INTEGER
MailFrom => 'IGNORE'|'ERROR'|'COERCE'|'KEEP'
How to handle the From lines. See mail_from().
Modify => BOOLEAN
Reformat all header lines when they come in: change the folding.
field_type => CLASS
log => LEVEL
message => MESSAGE
modified => BOOLEAN
trace => LEVEL

The header

$obj->isDelayed
See isDelayed in Mail::Message::Head.
$obj->isEmpty
See isEmpty in Mail::Message::Head.
$obj->isModified
See isModified in Mail::Message::Head.
$obj->knownNames
See knownNames in Mail::Message::Head.
$obj->message( [$message] )
See message in Mail::Message::Head.
$obj->modified( [BOOLEAN] )
See modified in Mail::Message::Head.
$obj->nrLines
See nrLines in Mail::Message::Head::Complete.
$obj->orderedFields
See orderedFields in Mail::Message::Head.
$obj->size
See size in Mail::Message::Head::Complete.
$obj->wrap( $integer )
See wrap in Mail::Message::Head::Complete.

Access to the header

$obj->add( $line, [$index] )

Add a header line, which simply calls Mail::Message::Head::add() on the header for the specified $line. The $index is ignored, the unfolded body of the field is returned.

$obj->addListGroup( $object )
See addListGroup in Mail::Message::Head::Complete.
$obj->addResentGroup( $resent_group|$data )
See addResentGroup in Mail::Message::Head::Complete.
$obj->addSpamGroup( $object )
See addSpamGroup in Mail::Message::Head::Complete.
$obj->count( $name )
See count in Mail::Message::Head::Complete.
$obj->delete( $tag, [$index] )

Delete the fields with the specified $tag. The deleted fields are returned. If no index is given, then all are removed.

$obj->get( $name, [$index] )

Get all the header fields with the specified $name. In scalar context, only the first fitting $name is returned. Even when only one $name is specified, multiple lines may be returned in list context: some fields appear more than once in a header.

$obj->grepNames( [@names|ARRAY|Regexps] )
See grepNames in Mail::Message::Head::Complete.
$obj->listGroup
See listGroup in Mail::Message::Head::Complete.
$obj->names
See names in Mail::Message::Head::Complete.
$obj->print( [$fh] )
See print in Mail::Message::Head::Complete.
$obj->printSelected( $fh, <STRING|Regexp>, ... )
See printSelected in Mail::Message::Head::Complete.
$obj->printUndisclosed( [$fh] )
See printUndisclosed in Mail::Message::Head::Complete.
$obj->removeContentInfo
See removeContentInfo in Mail::Message::Head::Complete.
$obj->removeField( $field )
See removeField in Mail::Message::Head::Complete.
$obj->removeFields( <STRING|Regexp>, ... )
See removeFields in Mail::Message::Head::Complete.
$obj->removeFieldsExcept( <STRING|Regexp>, ... )
See removeFieldsExcept in Mail::Message::Head::Complete.
$obj->removeListGroup
See removeListGroup in Mail::Message::Head::Complete.
$obj->removeResentGroups
See removeResentGroups in Mail::Message::Head::Complete.
$obj->removeSpamGroups
See removeSpamGroups in Mail::Message::Head::Complete.
$obj->replace( $tag, $line, [$index] )

Replace the field named $tag. from place $index (by default the first) by the $line. When $tag is undef, it will be extracted from the $line first. This calls Mail::Message::Head::Complete::reset() on the message's head.

$obj->resentGroups
See resentGroups in Mail::Message::Head::Complete.
$obj->reset( $name, @fields )
See reset in Mail::Message::Head::Complete.
$obj->set( $field | $line | <$name, $body, [$attrs]> )
See set in Mail::Message::Head::Complete.
$obj->spamDetected
See spamDetected in Mail::Message::Head::Complete.
$obj->spamGroups( [$names] )
See spamGroups in Mail::Message::Head::Complete.
$obj->string
See string in Mail::Message::Head::Complete.
$obj->study( $name, [$index] )
See study in Mail::Message::Head.

About the body

$obj->guessBodySize
See guessBodySize in Mail::Message::Head.
$obj->guessTimeStamp
See guessTimeStamp in Mail::Message::Head::Complete.
$obj->isMultipart
See isMultipart in Mail::Message::Head.
$obj->recvstamp
See recvstamp in Mail::Message::Head::Complete.
$obj->timestamp
See timestamp in Mail::Message::Head::Complete.

Internals

$obj->addNoRealize( $field )
See addNoRealize in Mail::Message::Head.
$obj->addOrderedFields( $fields )
See addOrderedFields in Mail::Message::Head.
$obj->createFromLine
See createFromLine in Mail::Message::Head::Complete.
$obj->createMessageId
See createMessageId in Mail::Message::Head::Complete.
$obj->fileLocation
See fileLocation in Mail::Message::Head.
$obj->load
See load in Mail::Message::Head.
$obj->messageIdPrefix( [$prefix, [$hostname]|CODE] )
$class->messageIdPrefix( [$prefix, [$hostname]|CODE] )
See messageIdPrefix in Mail::Message::Head::Complete.
$obj->moveLocation( $distance )
See moveLocation in Mail::Message::Head.
$obj->setNoRealize( $field )
See setNoRealize in Mail::Message::Head.

Error handling

$obj->AUTOLOAD
See AUTOLOAD in Mail::Reporter.
$obj->addReport( $object )
See addReport in Mail::Reporter.
$obj->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
$class->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
See defaultTrace in Mail::Reporter.
$obj->errors
See errors in Mail::Reporter.
$obj->log( [$level, [$strings]] )
$class->log( [$level, [$strings]] )
See log in Mail::Reporter.
$obj->logPriority( $level )
$class->logPriority( $level )
See logPriority in Mail::Reporter.
$obj->logSettings
See logSettings in Mail::Reporter.
$obj->notImplemented
See notImplemented in Mail::Reporter.
$obj->report( [$level] )
See report in Mail::Reporter.
$obj->reportAll( [$level] )
See reportAll in Mail::Reporter.
$obj->trace( [$level] )
See trace in Mail::Reporter.
$obj->warnings
See warnings in Mail::Reporter.

Cleanup

$obj->DESTROY
See DESTROY in Mail::Reporter.

Access to the header

Simulating Mail::Header

$obj->as_string

Returns the whole header as one big scalar. Calls Mail::Message::Head::Complete::string().

$obj->cleanup

Cleanup memory usage. Not needed here.

$obj->combine( $tag, [$with] )

I do not see any valid reason for this command, so did not implement it.

$obj->dup

Duplicate the header, which is simply clone().

$obj->empty

Clean-out the whole hash. Better not use this (simply create another header object), although it should work.

$obj->exists

Returns whether there are any fields.

$obj->extract( ARRAY )

Extract (and remove) header fields from the array.

$obj->fold( [$length] )

Refold all fields in the header, to $length or whatever fold_length() returns.

$obj->fold_length( [[$tag], $length] )

Returns the line wrap, optionally after setting it to $length. The old value is returned. The $tag argument is ignored, because it is silly to have different lines fold in different ways. This method cannot be called statically anymore.

$obj->header_hashref( HASH )

If you are using this method, you must be stupid... anyway: I do not want to support it for now: use add() and friends.

$obj->mail_from( ['IGNORE'|'ERROR'|'COERCE'|'KEEP'] )

What to do when a header line in the form `From ' is encountered. Valid values are IGNORE - ignore and discard the header, ERROR - invoke an error (call die), COERCE - rename them as Mail-From and KEEP - keep them.

$obj->modify( [BOOLEAN] )

Refold the headers when they are added.

$obj->read( $file )

Read the header from the $file.

$obj->tags

Returns all the names of fields, implemented by Mail::Message::Head::Complete::names().

$obj->unfold( [$tag] )

Remove the folding for all instances of $tag, or all fields at once.

The nasty bits

$obj->isa( $class )
$class->isa( $class )

Of course, the isa() class inheritance check should not see our nasty trick.