-------------------------------------
:is_writable_by(one) - one may alter/add/remove saved messages
:is_readable_by(one) - one may read messages.
:is_usable_by(one) - one may send to this list
By default, these verbs refer to the following properties:
writers - list of players other from the owner who can do anything
readers - if == 1, indicates a public mailing list.
list of additional readers (by default anyone who receives mail
sent to the list can read the saved messages).
moderated - if false, indicates a normal mail recipient everyone can send to.
otherwise this should be a list of approved senders.
Terminology:
A mailing list is "public" if everyone can read it.
A mailing list is "moderated" if not everyone can send to it.
Note that while being able to write to a recipient implies being able to read from it or send to it, neither of read-ability or send-ability implies the other.
It is highly recommended that if you are creating custom mail recipients with variable reader/sender lists, i.e., you find you need to write your own :is_readable/usable/writabe_by verbs, you are best off if such verbs are of the form
return pass(@args) || << your_test(args[1]) >>
and have .writers == .readers == {} and .moderated == 1. This will ensure
(1) wizards having write access
--- necessary in order for :receive_message to work
(2) writers being able to read and send (the converse being a ludicrous
situation),
(3) persons on the mail_forward list of someone with reader access will also
have read access (convenient).