What is Majordomo
- Majordomo is a program which automates the management of Internet mailing lists.
- Commands are sent to Majordomo via electronic mail to handle all aspects of list maintainance.
- Once a list is set up, virtually all operations can be performed remotely, requiring no intervention upon the postmaster of the list site.
- Majordomo controls a list of addresses for some mail transport system (like sendmail) to handle. Majordomo itself performs no mail delivery.
The Traditional Method
The mail-transport mechanism (sendmail) can send to multiple recipients contained in a file, using a special-syntax alias.
Alias for a List:
- Bounces go to the person who SENT the message
- Sender cannot control the list subscriptions
- Owner doesn't even know that mail bounced
Majordomo provides a mechanism (script), which can re-write the message so that it is handled properly. It also provides for reading a configuration file on a per list basis and utilizing different combinations of options for each list.
Aliases for a List:
sample: "|/usr/local/mail/majordomo/wrapper resend -l Sample -h majordomo.ieee.org" sample-list: :include:/usr/local/mail/lists/sample owner-sample: joe
What this does is force outgoing mail to have the out-of-band envelope FROM be firstname.lastname@example.org, and thus all bounces will be redirected to that address. (Users often see this mirrored in the message body as the "From " or "Return-Path:" header). resend also inserts a Sender: line with the same address to help people identify where it came from, but that header is not used for the bounce address.
The aliases for the maintenance portion of Majordomo
majordomo: "|/usr/local/majordomo/wrapper majordomo" majordomo-owner: postmaster, owner-majordomo: postmaster,
Block of Aliases for handling a Mailing-List
sample: "|/usr/local/majordomo/wrapper resend -l sample -h majordomo.ieee.org sample-list", owner-sample: b.juda, sample-list: :include:/usr/local/Mail/Majordomo/lists/sample owner-sample-list: owner-sample sample-request: "|/usr/local/majordomo/wrapper request-answer sample", b.juda, owner-sample-request: email@example.com, sample-owner: b.juda, owner-sample-owner: firstname.lastname@example.org, sample-approval: b.juda, owner-sample-approval: email@example.com,