The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mail::Message::Head::ListGroup - mailinglist related header fields

INHERITANCE

 Mail::Message::Head::ListGroup
   is a Mail::Message::Head::FieldGroup
   is a Mail::Reporter

SYNOPSIS

 my $lg = Mail::Message::Head::ListGroup->new(head => $head, ...);
 $head->addListGroup($lg);

 my $lg = $head->addListGroup(...);

 $lg->delete;

DESCRIPTION

A list group is a set of header fields which are added by mailing-list managing software. This class knowns various details about that software.

The knowledge and test messages which are used to initially implement this module is taken from Mail::ListDetector, written by Michael Stevens <mailto:michael@etla.org>. The logic is redesigned to add flexibility and use the powerful MailBox features.

METHODS

Constructors

$obj->address

$obj->clone

$obj->from(HEAD|MESSAGE)

    Create a Mail::Message::Head::ListGroup based in the specified MESSAGE or message HEAD.

$obj->implementedTypes

Mail::Message::Head::ListGroup->implementedTypes

$obj->listname

    Returns the name of the mailing list, which is usually a part of the e-mail address which is used to post the messages to.

Mail::Message::Head::ListGroup->new(FIELDS, OPTIONS)

$obj->rfc

    When the mailing list software follows the guidelines of one of the dedicated RFCs, then this will be returned otherwise undef. The return values can be rfc2919, rfc2369, or undef.

The header

$obj->add((FIELD, VALUE) | OBJECT)

$obj->addFields([FIELDNAMES])

$obj->attach(HEAD)

$obj->delete

$obj->fieldNames

$obj->fields

$obj->head

Access to the header

$obj->isListGroupFieldName(NAME)

Mail::Message::Head::ListGroup->isListGroupFieldName(NAME)

$obj->software

$obj->type

$obj->version

Internals

$obj->collectFields

    Scan the header for fields which are usually contained in mailing list software. This method is automatically called when a list group is constructed from() an existing header or message.

    Returned are the names of the list header fields found, in scalar context the amount. An empty list/zero indicates that this is not a mailing list message.

    Please warn the author of MailBox if you see that to few or too many fields are included.

$obj->detected(TYPE, SOFTWARE, VERSION)

Error handling

$obj->AUTOLOAD

$obj->addReport(OBJECT)

$obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])

Mail::Message::Head::ListGroup->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])

$obj->details

    Produce information about the detected/create list group, which may be helpful during debugging, by default to the selected file handle.

$obj->errors

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

Mail::Message::Head::ListGroup->log([LEVEL [,STRINGS]])

$obj->logPriority(LEVEL)

Mail::Message::Head::ListGroup->logPriority(LEVEL)

$obj->logSettings

$obj->notImplemented

$obj->print([FILEHANDLE])

$obj->report([LEVEL])

$obj->reportAll([LEVEL])

$obj->trace([LEVEL])

$obj->warnings

Cleanup

$obj->DESTROY

$obj->inGlobalDestruction

DIAGNOSTICS

Error: Cannot convert "$string" into an address object

The new(address) is coerced into a Mail::Message::Field::Address, which fails. Have a look at Mail::Message::Field::Address::coerce() to see what valid arguments are.

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.

DETAILS

Mailing list fields

Detected lists

The Mail::Message::Head::ListGroup class can detect many different mailing lists, some of which are very popular and some of which are rare.

Numerous fields in a header are addded when the message is passed through a mailing list server. Each list software has defined its own fields, sometimes woth conflicting definitions. There are also two RFCs about mailing list: rfc2919 and rfc2369.

The following lists are currently detected. Between parenthesis is the string returned by type() when that differs from the software name.

REFERENCES

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

COPYRIGHTS

Distribution version 2.066. 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.