View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
chromatic > Mail-SimpleList > Mail::SimpleList



Annotate this POD


New  2
Open  0
View/Report Bugs
Module Version: 0.94   Source  


Mail::SimpleList - module for managing simple, temporary, easy mailing lists


    use Mail::SimpleList;
    my $list = Mail::SimpleList->new( 'alias' );


Sometimes, you just need a really simple mailing list to last for a few days. You want it to be easy to create and easy to use, and you want it to be easy to unsubscribe. It's not worth setting up a complex system with one of the existing mailing list managers, but it's nice not to worry about who does and doesn't want to participate.

Mail::SimpleList, Mail::SimpleList::Aliases, and Mail::SimpleList::Alias make it easy to create a temporary mailing list system.



Please see the README file in this distribution for installation and configuration instructions. You'll need to configure your mail server just a little bit, but you only need to do it once. The rest of these instructions assume you've installed Mail::SimpleList to use the address


To create a list, send an e-mail to the address In the subject of the message, include the phrase *new*. In the body of the message, include a list of e-mail addresses to be subscribed to the list. For example, you may create a list including Alice, Bob, and Charlie with an e-mail resembling:

    Subject: *new*

You will receive a response informing you that the list has been created. Alice, Bob, and Charlie will each receive a response indicating that you have subscribed them to the alias. Each message will include the alias-specific posting address. In this case, it might be

You can specify additional directives when creating a list. Please see Directives for more information.


To post to a list, simply send an e-mail to the address provided in the subscription or creation message. It will be sent to everyone currently subscribed to the list. You do not need to use the Reply-All feature on your mailer; Mail::SimpleList sets the Reply-To header automatically.

If you do include other e-mail addresses in the CC header, Mail::SimpleList will, by default, automatically subscribe them to the list, informing them of this action and sending them the current message. No one should receive duplicate messages, even if he is already subscribed.


To unsubscribe from a list, send an e-mail to the address provided with a subject line of *unsubscribe*. In Bob's case, this message might be:

    Subject: *unsubscribe*

    no body here; it doesn't matter

Bob will receive an e-mail confirming that he has been unsubscribed. He will not receive any more messages directed to this list unless he resubscribes.


To clone a list, duplicating its subscribers but setting yourself as the owner and changing other attributes, send a message to the main address (in this case, with a subject containing the command *clone* and the address of the list to clone. Alice could clone the list above by sending the message:

    Subject: *clone*

Alice will receive a list creation message and the members of the cloned list will each receive a message informing them that they have been added to the clone. Doug will also be added to this new list.


Lists have seven attributes. Creating a list will set two attributes, the list owner and the list members. You can specify the other attributes by including directives when you create or clone a list.

Directives go in the body of the creation or clone message, before the list of e-mail addresses to add. They take the form:

    Directive: option


This directive governs whether or not the list is closed to non-subscribers. If so, only members of the list may send a message to the list. Everyone else will receive an error message indicating that the list is closed.

This attribute is false by default; anyone can post to a list. To enable it, use either directive form:

    Closed: yes
    Closed: 1


This directive governs how long the list will be available. After its expiration date has passed, no one may send a message to the list. Everyone will then receive an error message indicating that the list has expired.

This attribute is not set by default; lists do not expire. To enable it, use the directive form:

    Expires: 7d2h

This directive will cause the list to expire in seven days and two hours. Valid time units are:

This should suffice for most purposes.


This directive governs whether addresses found in the CC header will be added automatically to the list. By default, it is enabled. To disable it, use either directive form:

    Auto_add: no
    Auto_add: 0


This is a single line that describes the purpose of the list. It is sent to everyone when they are added to the list. By default, it is blank. To set a description, use the form:

    Description: A list for discussing fluoridation.


This isn't a directive in the sense that it's an intrinsic part of a list. It's just a way to give a list a nicer name when it's being created. Instead of having to rename a list to a nicer name, you can specify it with:

    Name: meat-eaters

Only letters, numbers, dashes, and the underscore characters are allowed in names.



chromatic, chromatic at wgz dot org, with suggestions from various friends and family as well as the subset of the Portland Perl Mongers who do not appear in a previous category.


No known bugs, though something odd happens when you send a message with an invalid command to the base address (in our example,



Copyright (c) 2016 chromatic. All rights reserved. This module is distributed under the same terms as Perl 5.24, in the hope that it is useful but under no warranty.

syntax highlighting: