Mail::Message::Head::ListGroup - mailinglist related header fields
Mail::Message::Head::ListGroup is a Mail::Message::Head::FieldGroup is a Mail::Reporter
my $lg = Mail::Message::Head::ListGroup->new(head => $head, ...); $head->addListGroup($lg); my $lg = $head->addListGroup(...); $lg->delete;
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.
$obj->address
Returns a Mail::Message::Field::Address object (or undef
) which
defines the posting address of the mailing list.
$obj->clone
See Mail::Message::Head::FieldGroup/"Constructors"
$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
See Mail::Message::Head::FieldGroup/"Constructors"
$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)
Construct an object which maintains one set of mailing list headers
Option --Defined in --Default address undef head Mail::Message::Head::FieldGroup undef listname <derived from address> log Mail::Reporter 'WARNINGS' rfc undef software Mail::Message::Head::FieldGroup undef trace Mail::Reporter 'WARNINGS' type Mail::Message::Head::FieldGroup undef version Mail::Message::Head::FieldGroup undef
. address => STRING|OBJECT
Address of the mailing list, which may be specified as STRING or e-mail containing object (a Mail::Address or Mail::Identity. In any case, the data is converted into a Mail::Identity.
. head => HEAD
. listname => STRING
A short textual representation of the mailing-list.
. log => LEVEL
. rfc => 'rfc2919'|'rfc2369'
Defines the mailing list software follows an rfc.
. software => STRING
. trace => LEVEL
. type => STRING
. version => STRING
$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
.
$obj->add((FIELD, VALUE) | OBJECT)
See Mail::Message::Head::FieldGroup/"The header"
$obj->addFields([FIELDNAMES])
See Mail::Message::Head::FieldGroup/"The header"
$obj->attach(HEAD)
See Mail::Message::Head::FieldGroup/"The header"
$obj->delete
See Mail::Message::Head::FieldGroup/"The header"
$obj->fieldNames
See Mail::Message::Head::FieldGroup/"The header"
$obj->fields
See Mail::Message::Head::FieldGroup/"The header"
$obj->head
See Mail::Message::Head::FieldGroup/"The header"
$obj->isListGroupFieldName(NAME)
Mail::Message::Head::ListGroup->isListGroupFieldName(NAME)
$obj->software
See Mail::Message::Head::FieldGroup/"Access to the header"
$obj->type
See Mail::Message::Head::FieldGroup/"Access to the header"
$obj->version
See Mail::Message::Head::FieldGroup/"Access to the header"
$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)
See Mail::Message::Head::FieldGroup/"Internals"
$obj->AUTOLOAD
See Mail::Reporter/"Error handling"
$obj->addReport(OBJECT)
See Mail::Reporter/"Error handling"
$obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
Mail::Message::Head::ListGroup->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
See Mail::Reporter/"Error handling"
$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
See Mail::Reporter/"Error handling"
$obj->log([LEVEL [,STRINGS]])
Mail::Message::Head::ListGroup->log([LEVEL [,STRINGS]])
See Mail::Reporter/"Error handling"
$obj->logPriority(LEVEL)
Mail::Message::Head::ListGroup->logPriority(LEVEL)
See Mail::Reporter/"Error handling"
$obj->logSettings
See Mail::Reporter/"Error handling"
$obj->notImplemented
See Mail::Reporter/"Error handling"
$obj->print([FILEHANDLE])
See Mail::Message::Head::FieldGroup/"Error handling"
$obj->report([LEVEL])
See Mail::Reporter/"Error handling"
$obj->reportAll([LEVEL])
See Mail::Reporter/"Error handling"
$obj->trace([LEVEL])
See Mail::Reporter/"Error handling"
$obj->warnings
See Mail::Reporter/"Error handling"
$obj->DESTROY
$obj->inGlobalDestruction
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.
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.
This module is part of Mail-Box distribution version 2.082, built on April 28, 2008. Website: http://perl.overmeer.net/mailbox/
Copyrights 2001-2008 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://www.perl.com/perl/misc/Artistic.html