Mail::M...stGroup(3)

okay bestie, welcome to the section 3 man page (User Contributed Perl Documentation, for the record) about the class that handles the header fields your mailing list software keeps yeeting into your messages. πŸŽ€


🧬 INHERITANCE

Like, the family tree, and it ate:

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

✨ SYNOPSIS

Straight up, here's the vibe:

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

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

 $lg->delete;

🌸 DESCRIPTION

So a list group is literally just a set of header fields that got added by mailing-list managing software. This class knows various details about that software β€” like, it clocks which one it is. πŸ‘‘

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

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


πŸ› οΈ METHODS

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

πŸŽ€ Constructors

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

  • $obj->address() β€” Returns a Mail::Message::Field::Address object (or undef) which defines the posting address of the mailing list. πŸ’…
  • $obj->clone() β€” Inherited, see "Constructors" in Mail::Message::Head::FieldGroup
  • $obj->from($head|$message) β€” Create a Mail::Message::Head::ListGroup based in the specified $message or message $head. Improves base, see "Constructors" in Mail::Message::Head::FieldGroup
  • $any->implementedTypes() β€” Inherited, see "Constructors" in Mail::Message::Head::FieldGroup
  • $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.
  • $class->new($fields, %options) β€” Construct an object which maintains one set of mailing list headers. Improves base, see "Constructors" in Mail::Message::Head::FieldGroup

The options, and like, the whole roster, with defaults:

 -Option  --Defined in                     --Default
  address                                    undef
  head      Mail::Message::Head::FieldGroup  undef
  listname                                   <derived from address>
  rfc                                        undef
  software  Mail::Message::Head::FieldGroup  undef
  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. no cap
  • head => $head
  • listname => STRING β€” A short textual representation of the mailing-list.
  • rfc => 'rfc2919'|'rfc2369' β€” Defines the mailing list software follows an rfc.
  • software => STRING
  • 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. the way that this just tells you which RFC… obsessed

πŸ¦‹ Attributes

Extends "Attributes" in Mail::Message::Head::FieldGroup.

πŸ“¬ The header

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

  • $obj->add( <$field, $value> | $object ) β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup
  • $obj->addFields( [$fieldnames] ) β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup
  • $obj->attach($head) β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup
  • $obj->delete() β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup
  • $obj->fieldNames() β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup
  • $obj->fields() β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup
  • $obj->head() β€” Inherited, see "The header" in Mail::Message::Head::FieldGroup

πŸ” Access to the header

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

  • $any->isListGroupFieldName($name)
  • $obj->software() β€” Inherited, see "Access to the header" in Mail::Message::Head::FieldGroup
  • $obj->type() β€” Inherited, see "Access to the header" in Mail::Message::Head::FieldGroup
  • $obj->version() β€” Inherited, see "Access to the header" in Mail::Message::Head::FieldGroup

🧚 Internals

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

  • $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. Improves base, see "Internals" in Mail::Message::Head::FieldGroup

  • $obj->detected($type, $software, $version) β€” Inherited, see "Internals" in Mail::Message::Head::FieldGroup

🚨 Error handling

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

  • $obj->AUTOLOAD() β€” Inherited, see "Error handling" in Mail::Reporter
  • $obj->details() β€” Produce information about the detected/create list group, which may be helpful during debugging, by default to the selected file handle. Improves base, see "Error handling" in Mail::Message::Head::FieldGroup
  • $obj->notImplemented() β€” Inherited, see "Error handling" in Mail::Reporter
  • $obj->print( [$fh] ) β€” Inherited, see "Error handling" in Mail::Message::Head::FieldGroup

🧹 Cleanup

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

  • $obj->DESTROY() β€” Inherited, see "Cleanup" in Mail::Reporter

πŸ’œ 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. it's giving niche queen energy

Numerous fields in a header are added 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.


😭 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. Cast by new()
  • Error: class $package does not implement method $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. Cast by notImplemented()
⚠️ That second one is a fatal error, bestie. Not a vibe. Don't ignore it. πŸ’€

πŸ‘€ SEE ALSO

This module is part of Mail-Message version 4.04, built on February 04, 2026. Website: http://perl.overmeer.net/CPAN/


πŸ“œ LICENSE

For contributors see file ChangeLog.

This software is copyright (c) 2001-2026 by Mark Overmeer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


and that's the whole page, bestie ✨ it came to you from perl v5.42.0 and it's dated 2026-02-05 β€” go forth and detect some mailing lists, you absolute icon πŸ‘‘πŸ’–

πŸ“¦ where this page comes from