PDA

View Full Version : Majordomo Commands and structures



Joe
10-18-2002, 11:22 AM
To create a mailing list:
1. Open the Majordomo Mailing List Manager.
2. In the Majordomo Mailing List Manager menu, click Create.
3. The Create a New Mailing List form opens.
4. In the List name field, enter a name for the new mailing list. The name must be in lowercase letters.
5. In the List Maintainers Email Address field, enter the email address of the person who will manage this mailing list.
6. In the Maintenance Password field, enter the password for the mailing list administrator.
7. In the Confirm Maintenance Password field, enter the password again.
8. Optional: In the Description field, enter a one-line description of the mailing list, such as for what the list will be used.
9. Optional: In the Introductory Message text box, enter a welcome message that will be sent to all new members on this mailing list, introducing the mailing list and for what it should be used.
10. Optional: In the Forwarded Mail Footer text box, enter useful information related to the mailing list, such as the name of the mailing list, the email address of the mailing list, or the Web site address.
11. Click Create.

To view your existing mailing lists:
1. Open the Majordomo Mailing List Manager.
2. In the Majordomo Mailing List Manager menu, if it is not already selected, click View.
The Mailing Lists form opens displaying all your existing mailing lists.

Joe
10-18-2002, 11:23 AM
To add members to a mailing list:
1. Open the Majordomo Mailing List Manager.
2. In the Majordomo Mailing List Manager menu, click View.
3. The Mailing Lists form opens, showing the current mailing lists on the domain.
4. Locate the mailing list to which you want to add members and in the Actions column, click .
The Member Management form opens.
5. In the text box, enter the email addresses of the users you want to add to the list, separating each address with commas.
6. Click Subscribe.
Majordomo sends an introductory message to each new member on the list, and also sends an email message to the List Maintainer informing the administrator that a new member is added to the list.

Joe
10-18-2002, 11:24 AM
To remove members from a mailing list:
1. Open the Majordomo Mailing List Manager.
2. In the Majordomo Mailing List Manager menu, click View.
The Mailing Lists form opens, showing the current mailing lists on the domain.
3. Locate the mailing list from which you want to remove members and in the Actions column, click (list symbol).
The Member Management form opens.
4. Locate the email address of the member you want to remove and in the Actions column, click (trashcan).

Joe
10-18-2002, 11:27 AM
Once you create mailing lists, you can issue certain commands about these lists to the Majordomo server by sending email messages to majordomo@<site name>. In the body of the email message, you can include one or more of the commands listed in the Majordomo email commands table.

Note: The email message must include only commands in the body of the email message and no other text.

help Receive an email message with detailed help about Majordomo

info <mailing list name> Receive an email message stating when the mailing list was created or modified

lists Receive an email message showing all the mailing lists on the domain

which <email address> Receive an email message indicating the mailing lists to which the user at the email address you specify has subscribed

who <mailing list name> Receive an email message listing the users who have subscribed to this mailing list

subscribe <mailing list name> <email address> Add the user at the email address you specify to the mailing list you specify

Unsubscribe <mailing list name> Remove yourself from the mailing list you specify

signoff <mailing list name> Remove yourself from the mailing list you specify

Joe
11-21-2002, 02:48 PM
EMAIL METHOD:
To get a copy of the current config file for your list, send email to majordomo@yourdomain with the following in the BODY (not the subject line):

config [list]

Installing a New Configuration File:

Send email to majordomo@yourdomain with the following in the BODY (not the subject line):

newconfig [list]

This creates a new configuration file. It reads everything after the "newconfig" line command to to the end of the email (or to "EOF" on a line by itself) as the new configuration for the list.

To change an item in the configuration, you must return the COMPLETE configuration file, changed to reflect the changes you wish to make to your list, NOT just the parts that you are changing.


This is what will be returned (or something similar)


--

>>>> config hostpc-customer password
# The configuration file for a majordomo mailing list.
# Comments start with the first # on a line, and continue to the end
# of the line. There is no way to escape the # character. The file
# uses either a key = value for simple (i.e. a single) values, or uses
# a here document
# key << END
# value 1
# value 2
# [ more values 1 per line]
# END
# for installing multiple values in array types. Note that the here
# document delimiter (END in the example above) must be the same at the end
# of the list of entries as it is after the << characters.
# Within a here document, the # sign is NOT a comment character.
# A blank line is allowed only as the last line in the here document.
#
# The values can have multiple forms:
#
# absolute_dir -- A root anchored (i.e begins with a /) directory
# absolute_file -- A root anchored (i.e begins with a /) file
# bool -- choose from: yes, no, y, n
# enum -- One of a list of possible values
# integer -- an integer (string made up of the digits 0-9,
# no decimal point)
# float -- a floating point number with decimal point.
# regexp -- A perl style regular expression with
# leading and trailing /'s.
# restrict_post -- a series of space or : separated file names in which
# to look up the senders address
# (restrict-post should go away to be replaced by an
# array of files)
# string -- any text up until a n stripped of
# leading and trailing whitespace
# word -- any text with no embedded whitespace
#
# A blank value is also accepted, and will undefine the corresponding keyword.
# The character Control-A may not be used in the file.
#
# A trailing _array on any of the above types means that that keyword
# will allow more than one value.
#
# Within a here document for a string_array, the '-' sign takes on a special
# significance.
#
# To embed a blank line in the here document, put a '-' as the first
# and ONLY character on the line.
#
# To preserve whitespace at the beginning of a line, put a - on the
# line before the whitespace to be preserved
#
# To put a literal '-' at the beginning of a line, double it.
#
#
# The default if the keyword is not supplied is given in ()'s while the
# type of value is given in [], the subsystem the keyword is used in is
# listed in <>'s. (undef) as default value means that the keyword is not
# defined or used.

# admin_passwd [word] (hostpc-customer.admin) <majordomo>
# The password for handling administrative tasks on the list.
admin_passwd = *******

# administrivia [bool] (yes) <resend>
# Look for administrative requests (e.g. subscribe/unsubscribe) and
# forward them to the list maintainer instead of the list.
administrivia = yes

# advertise [regexp_array] (undef) <majordomo>
# If the requestor email address matches one of these regexps, then
# the list will be listed in the output of a lists command. Failure
# to match any regexp excludes the list from the output. The
# regexps under noadvertise override these regexps.
advertise << END

END

# announcements [bool] (yes) <majordomo>
# If set to yes, comings and goings to the list will be sent to the
# list owner. These SUBSCRIBE/UNSUBSCRIBE event announcements are
# informational only (no action is required), although it is highly
# recommended that they be monitored to watch for list abuse.
announcements = yes

# approve_passwd [word] (hostpc-customer.pass) <resend>
# Password to be used in the approved header to allow posting to
# moderated list, or to bypass resend checks.
approve_passwd = *******

# archive_dir [absolute_dir] (undef) <majordomo>
# The directory where the mailing list archive is kept. This item
# does not currently work. Leave it blank.
archive_dir =

# comments [string_array] (undef) <config>
# Comment string that will be retained across config file rewrites.
comments << END

END

# date_info [bool] (yes) <majordomo>
# Put the last updated date for the info file at the top of the
# info file rather than having it appended with an info command.
# This is useful if the file is being looked at by some means other
# than majordomo (e.g. finger).
date_info = yes

# date_intro [bool] (yes) <majordomo>
# Put the last updated date for the intro file at the top of the
# intro file rather than having it appended with an intro command.
# This is useful if the file is being looked at by some means other
# than majordomo (e.g. finger).
date_intro = yes

# debug [bool] (no) <resend>
# Don't actually forward message, just go though the motions.
debug = no

# description [string] (undef) <majordomo>
# Used as description for mailing list when replying to the lists
# command. There is no quoting mechanism, and there is only room
# for 50 or so characters.
description = For HostPC Customers Only

# digest_archive [absolute_dir] (undef) <digest>
# The directory where the digest archive is kept. This item does
# not currently work. Leave it blank.
digest_archive =

# digest_issue [integer] (1) <digest>
# The issue number of the next issue
digest_issue = 1

# digest_maxdays [integer] (undef) <digest>
# automatically generate a new digest when the age of the oldest
# article in the queue exceeds this number of days.
digest_maxdays =

# digest_maxlines [integer] (undef) <digest>
# automatically generate a new digest when the size of the digest
# exceeds this number of lines.
digest_maxlines =

# digest_name [string] (hostpc-customer) <digest>
# The subject line for the digest. This string has the volume and
# issue appended to it.
digest_name = hostpc-customer

# digest_rm_footer [word] (undef) <digest>
# The value is the name of the list that applies the header and
# footers to the messages that are received by digest. This allows
# the list supplied headers and footers to be stripped before the
# messages are included in the digest.
digest_rm_footer =

# digest_rm_fronter [word] (undef) <digest>
# Works just like digest_rm_footer, except it removes the front
# material.
digest_rm_fronter =

# digest_volume [integer] (1) <digest>
# The current volume number
digest_volume = 1

# digest_work_dir [absolute_dir] (undef) <digest>
# The directory used as scratch space for digest. Don't change
# this unless you know what you are doing
digest_work_dir =

# get_access [enum] (list) <majordomo> /open;closed;list/
# One of three values: open, list, closed. Open allows anyone
# access to this command and closed completely disables the command
# for everyone. List allows only list members access, or if
# restrict_post is defined, only the addresses in those files are
# allowed access.
get_access = list

# index_access [enum] (open) <majordomo> /open;closed;list/
# One of three values: open, list, closed. Open allows anyone
# access to this command and closed completely disables the command
# for everyone. List allows only list members access, or if
# restrict_post is defined, only the addresses in those files are
# allowed access.
index_access = open

# info_access [enum] (open) <majordomo> /open;closed;list/
# One of three values: open, list, closed. Open allows anyone
# access to this command and closed completely disables the command
# for everyone. List allows only list members access, or if
# restrict_post is defined, only the addresses in those files are
# allowed access.
info_access = open

# intro_access [enum] (list) <majordomo> /open;closed;list/
# One of three values: open, list, closed. Open allows anyone
# access to this command and closed completely disables the command
# for everyone. List allows only list members access, or if
# restrict_post is defined, only the addresses in those files are
# allowed access.
intro_access = list

# maxlength [integer] (40000) <resend,digest>
# The maximum size of an unapproved message in characters. When
# used with digest, a new digest will be automatically generated if
# the size of the digest exceeds this number of characters.
maxlength = 40000

# message_footer [string_array] (undef) <resend,digest>
# Text to be appended at the end of all messages posted to the
# list. The text is expanded before being used. The following
# expansion tokens are defined: $LIST - the name of the current
# list, $SENDER - the sender as taken from the from line, $VERSION,
# the version of majordomo. If used in a digest, no expansion
# tokens are provided
message_footer << END
www.hostpc.com
END

# message_fronter [string_array] (undef) <resend,digest>
# Text to be prepended to the beginning of all messages posted to
# the list. The text is expanded before being used. The following
# expansion tokens are defined: $LIST - the name of the current
# list, $SENDER - the sender as taken from the from line, $VERSION,
# the version of majordomo. If used in a digest, only the expansion
# token _SUBJECTS_ is available, and it expands to the list of
# message subjects in the digest
message_fronter << END

END

# message_headers [string_array] (undef) <resend,digest>
# These headers will be appended to the headers of the posted
# message. The text is expanded before being used. The following
# expansion tokens are defined: $LIST - the name of the current
# list, $SENDER - the sender as taken from the from line, $VERSION,
# the version of majordomo.
message_headers << END

END

# moderate [bool] (no) <resend>
# If yes, all postings to the list will be bounced to the moderator
# for approval.
moderate = no

# moderator [word] (undef) <resend>
# Address for directing posts which require approval. Such
# approvals might include moderated mail, administrivia traps, and
# restrict_post authorizations. If the moderator address is not
# set, it will default to the list-approval address.
moderator =

# mungedomain [bool] (no) <majordomo>
# If set to yes, a different method is used to determine a matching
# address. When set to yes, addresses of the form user@dom.ain.com
# are considered equivalent to addresses of the form user@ain.com.
# This allows a user to subscribe to a list using the domain
# address rather than the address assigned to a particular machine
# in the domain. This keyword affects the interpretation of
# addresses for subscribe, unsubscribe, and all private options.
mungedomain = no

# noadvertise [regexp_array] (undef) <majordomo>
# If the requestor name matches one of these regexps, then the list
# will not be listed in the output of a lists command. Noadvertise
# overrides advertise.
noadvertise << END

END

# precedence [word] (bulk) <resend,digest>
# Put a precedence header with value <value> into the outgoing
# message.
precedence = bulk

# purge_received [bool] (no) <resend>
# Remove all received lines before resending the message.
purge_received = no

# reply_to [word] () <resend,digest>
# Put a reply-to header with value <value> into the outgoing
# message. If the token $SENDER is used, then the address of the
# sender is used as the value of the reply-to header. This is the
# value of the reply-to header for digest lists.
reply_to =

# resend_host [word] (undef) <resend>
# The host name that is appended to all address strings specified
# for resend.
resend_host =

# 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.
restrict_post = /var/lib/majordomo/lists/hostpc-customer

# sender [word] (owner-hostpc-customer) <majordomo,rese
# The envelope and sender address for the resent mail. This string
# has "@" and the value of resend_host appended to it to make a
# complete address. For majordomo, it provides the sender address
# for the welcome mail message generated as part of the subscribe
# command.
sender = owner-hostpc-customer

# strip [bool] (yes) <majordomo>
# When adding address to the list, strip off all comments etc, and
# put just the raw address in the list file. In addition to the
# keyword, if the file <listname>.strip exists, it is the same as
# specifying a yes value. That yes value is overridden by the value
# of this keyword.
strip = yes

# subject_prefix [word] (undef) <resend>
# This word will be prefixed to the subject line, if it is not
# already in the subject. The text is expanded before being used.
# The following expansion tokens are defined: $LIST - the name of
# the current list, $SENDER - the sender as taken from the from
# line, $VERSION, the version of majordomo.
subject_prefix =

# subscribe_policy [enum] (open+confirm) <majordomo> /open;closed
# One of three values: open, closed, auto; plus an optional
# modifier: '+confirm'. Open allows people to subscribe themselves
# to the list. Auto allows anybody to subscribe anybody to the list
# without maintainer approval. Closed requires maintainer approval
# for all subscribe requests to the list. Adding '+confirm', ie,
# 'open+confirm', will cause majordomo to send a reply back to the
# subscriber which includes a authentication number which must be
# sent back in with another subscribe command.
subscribe_policy = open+confirm

# taboo_body [regexp_array] (undef) <resend>
# If any line of the body matches one of these regexps, then the
# message will be bounced for review.
taboo_body << END

END

# taboo_headers [regexp_array] (undef) <resend>
# If any of the headers matches one of these regexps, then the
# message will be bounced for review.
taboo_headers << END

END

# unsubscribe_policy [enum] (open) <majordomo> /open;closed;auto;op
# One of three values: open, closed, auto; plus an optional
# modifier: '+confirm'. Open allows people to unsubscribe
# themselves from the list. Auto allows anybody to unsubscribe
# anybody to the list without maintainer approval. The existence of
# the file <listname>.auto is the same as specifying the value
# auto. Closed requires maintainer approval for all unsubscribe
# requests to the list. In addition to the keyword, if the file
# <listname>.closed exists, it is the same as specifying the value
# closed. Adding '+confirm', ie, 'auto+confirm', will cause
# majordomo to send a reply back to the subscriber if the request
# didn't come from the subscriber. The reply includes a
# authentication number which must be sent back in with another
# subscribe command. The value of this keyword overrides the value
# supplied by any existent files.
unsubscribe_policy = open

# welcome [bool] (yes) <majordomo>
# If set to yes, a welcome message (and optional 'intro' file) will
# be sent to the newly subscribed user.
welcome = yes

# which_access [enum] (open) <majordomo> /open;closed;list/
# One of three values: open, list, closed. Open allows anyone
# access to this command and closed completely disables the command
# for everyone. List allows only list members access, or if
# restrict_post is defined, only the addresses in those files are
# allowed access.
which_access = open

# who_access [enum] (open) <majordomo> /open;closed;list/
# One of three values: open, list, closed. Open allows anyone
# access to this command and closed completely disables the command
# for everyone. List allows only list members access, or if
# restrict_post is defined, only the addresses in those files are
# allowed access.
who_access = open

#[Last updated Sat Nov 16 10:02:50 2002]
>>>>

Joe
11-21-2002, 02:53 PM
Using the above as the example - you can set all the configuration options for your list....

Hope that information is helpful.

Yes, we'll be starting a hostpc.com customers list to inform you of IMPORTANT updates that may come along.

Thanks

Joe