---
name: "Mail::Box::IMAP4::Head"
section: "3pm"
platform: "linux"
package: "libmail-box-imap4-perl"
version: "3.009-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mail::Box::IMAP4::Head"
---

# Mail::Box::IMAP4::Head(3pm)

header fields related IMAP interface

## NAME

Mail::Box::IMAP4::Head - header fields related IMAP interface

## INHERITANCE

```
 Mail::Box::IMAP4::Head
   is a Mail::Message::Head
   is a Mail::Reporter
```

## SYNOPSIS

## DESCRIPTION

This class implements a pure IMAP4 protocol interface, where as little data is retrieved from the header as possible.  This may look nice to you, but is not sufficient for many tasks.  For instance, you cannot removed or modify fields this way.

Change Mail::Box::IMAP4::new(cache\_head) to `"YES"` or `"DELAY"`, to get a message header which is capable of performing all possible games with headers.  On the other hand: the other settings are not 100% safe...

Extends "DESCRIPTION" in Mail::Message::Head.

## OVERLOADED

Extends "OVERLOADED" in Mail::Message::Head.

- overload: **""**

  Inherited, see "OVERLOADED" in Mail::Message::Head

- overload: **bool**

  Inherited, see "OVERLOADED" in Mail::Message::Head

## METHODS

Extends "METHODS" in Mail::Message::Head.

### Constructors

Extends "Constructors" in Mail::Message::Head.

- Mail::Box::IMAP4::Head-\>**build**( \[PAIR\|$field\]-LIST )

  Inherited, see "Constructors" in Mail::Message::Head

- Mail::Box::IMAP4::Head-\>**new**(%options)

  ```
   -Option      --Defined in         --Default
    cache_fields                       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'
  ```

  - cache\_fields =\> BOOLEAN

    This is only a read-cache on fields, because this kind of header does not allow writing of fields.  See Mail::Box::IMAP4::new(cache\_head), this value is set to `"false"` for `"NO"` and `"true"` for `"PARTIAL"`..

  - field\_type =\> CLASS

    - log =\> LEVEL

    - message =\> MESSAGE

    - modified =\> BOOLEAN

    - trace =\> LEVEL

    ### The header

Extends "The header" in Mail::Message::Head.

- $obj-\>**isDelayed**()

  Inherited, see "The header" in Mail::Message::Head

- $obj-\>**isEmpty**()

  Inherited, see "The header" in Mail::Message::Head

- $obj-\>**isModified**()

  Inherited, see "The header" in Mail::Message::Head

- $obj-\>**knownNames**()

  Inherited, see "The header" in Mail::Message::Head

- $obj-\>**message**( \[$message\] )

  Inherited, see "The header" in Mail::Message::Head

- $obj-\>**modified**( \[BOOLEAN\] )

  Inherited, see "The header" in Mail::Message::Head

- $obj-\>**orderedFields**()

  Inherited, see "The header" in Mail::Message::Head

### Access to the header

Extends "Access to the header" in Mail::Message::Head.

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

  Get the information about the header line `$name`.  Realization will take place.

- $obj-\>**study**( $name, \[$index\] )

  Inherited, see "Access to the header" in Mail::Message::Head

### About the body

Extends "About the body" in Mail::Message::Head.

- $obj-\>**guessBodySize**()

  Inherited, see "About the body" in Mail::Message::Head

- $obj-\>**isMultipart**()

  Inherited, see "About the body" in Mail::Message::Head

### Internals

Extends "Internals" in Mail::Message::Head.

- $obj-\>**addNoRealize**($field)

  Inherited, see "Internals" in Mail::Message::Head

- $obj-\>**addOrderedFields**($fields)

  Inherited, see "Internals" in Mail::Message::Head

- $obj-\>**fileLocation**()

  Inherited, see "Internals" in Mail::Message::Head

- $obj-\>**load**()

  Inherited, see "Internals" in Mail::Message::Head

- $obj-\>**moveLocation**($distance)

  Inherited, see "Internals" in Mail::Message::Head

- $obj-\>**read**($parser)

  Inherited, see "Internals" in Mail::Message::Head

- $obj-\>**setNoRealize**($field)

  Inherited, see "Internals" in Mail::Message::Head

### Error handling

Extends "Error handling" in Mail::Message::Head.

- $obj-\>**AUTOLOAD**()

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**addReport**($object)

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**defaultTrace**( \[$level\]\|\[$loglevel, $tracelevel\]\|\[$level, $callback\] )

  - Mail::Box::IMAP4::Head-\>**defaultTrace**( \[$level\]\|\[$loglevel, $tracelevel\]\|\[$level, $callback\] )

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**errors**()

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**log**( \[$level, \[$strings\]\] )

  - Mail::Box::IMAP4::Head-\>**log**( \[$level, \[$strings\]\] )

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**logPriority**($level)

  - Mail::Box::IMAP4::Head-\>**logPriority**($level)

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**logSettings**()

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**notImplemented**()

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**report**( \[$level\] )

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**reportAll**( \[$level\] )

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**trace**( \[$level\] )

  Inherited, see "Error handling" in Mail::Reporter

- $obj-\>**warnings**()

  Inherited, see "Error handling" in Mail::Reporter

### Cleanup

Extends "Cleanup" in Mail::Message::Head.

- $obj-\>**DESTROY**()

  Inherited, see "Cleanup" in Mail::Reporter

## DETAILS

Extends "DETAILS" in Mail::Message::Head.

## DIAGNOSTICS

- 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.

## SEE ALSO

This module is part of Mail-Box-IMAP4 distribution version 3.009, built on April 18, 2025. Website: *http://perl.overmeer.net/CPAN/*

## LICENSE

Copyrights 2001-2025 by \[Mark Overmeer\]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See *http://dev.perl.org/licenses/*
