The FreeBSD Diary
Providing practical examples since 1998If you buy from Amazon USA, please support us by using this link.
Allowing non-member submissions on closed mailing lists 23 March 2000
Majordomo is a mailing list I've fallen in
love with. It's served me well over the time I've used it.
A mailing list can be either open (anyone can send to it) or closed (only list members can send to the list). On one list I run, some members had multiple email addresses. They wanted to be able to send from any of those addresses. One solution is to subscribe each of the addresses to the list. But this isn't very nice as it means that person will receive multiple copies of each message. That's not very nice.
This article shows how I found a way to allow people to send from more than one address but only receive one copy of each message. Note that if you are running an open list, this article is not for you.
The bounced messages
|Here is what a bounced message looks like:
Date sent: Mon, 20 Mar 2000 13:49:37 +1200 (NZST) From: firstname.lastname@example.org To: email@example.com Subject: BOUNCE firstname.lastname@example.org: Non-member submission from [James Tyson <email@example.com>]
It turns out that James wants to be able to send from his work address but only receive the list at home. So he has subscribed his home address (firstname.lastname@example.org). In the above message, he sent to the list from his work address, which is not subscribed. The message is then bounced to the list administrator (that's me, and probably you).
The solution is to use the restrict_post keyword.
Of course, the simplest solution is to use an open list. But that will not appeal to everyone.
|The restrict_post keyword is specified within your list
configuration file. This is normally located at:
where <listname> is the name of your list. In the above bounced message, the list name is "yourlist". The following is an extract from the configuration file and describes the keyword functionality:
# restrict_post [restrict_post] (undef) <resend> # If defined, only addresses listed in these files (colon or space # separated) can post to the mailing list. By default, these files # are relative to the lists directory. These files are also checked # when get_access, index_access, info_access, intro_access, # which_access, or who_access is set to 'list'. This is less useful # than it seems it should be since there is no way to create these # files if you do not have access to the machine running resend. # This mechanism will be replaced in a future version of # majordomo/resend.
This is exactly what we want! So I created a new file and called it yourlist-sendonly. I added James' work address to this file. The file now looks like this:
# more /usr/local/majordomo/lists/yourlist-sendonly email@example.com
The file is structured exactly like the main list file (which in this case would be /usr/local/majordomo/lists/yourlist) to which people subscribe and unsubscribe.
|The above solution does what is needed and it works very well.
However it does require manual intervention by the list owner. There is a
better solution. Create another list named yourlist-sendonly and let
people subscribe to that list as well. I would make it a moderated list.
Nobody should be able to send to that list. The list is actually used by the
main list and is for reference only. The addresses on that list are not used by
I have not tried this improvement, but I suspect the steps would be as simple as the following:
If you do try the above, I'll be interested in your comments. Thanks.