Sign In | Sign Out | Mailing Lists | Unsubscribe or Change Settings | Help |
OpenBSD Mailing List Server
Substitution variables and file templates When Majordomo sends a reply message in response to a request, the document that it sends is usually a template. The template may have one or more keyword variables, for which Majordomo automatically substitutes the appropriate value. Substitution variables are composed of a leading dollar sign, followed by capital letters and underscores. For example, when you use the command help overview Near the end of the document, it says Majordomo 2, version $VERSION However, what you see on your screen is Majordomo 2, version 0.1201103110 Majordomo automatically substitutes the version number for the VERSION keyword variable. The most important use of variable substitutions is in the faq, info, and intro files that are available through the commands with the same names. Substitution variables are also used by some configuration settings and by the announce and help commands. Substitution variables are not the same as access rule variables. See "help access_variables" for more information about access variables. As an example of a variable, using this string in a file $MJ will cause the the address of the majordomo email interface to be inserted before the user sees the file contents. When you edit a document that contains substitution variables, be certain to leave enough space for the text that will replace each variable. Otherwise, some lines in the document may be longer than you expected. Variables that are not supported by a particular document or configuration setting will remain unaltered. See "help error_files", "help format_files" and "help reply_files" for a list of documents and the substitutions that they support. The $INCLUDE variable can be used to incorporate a separate document into the current document. This variable must be followed by a dash and the location of a file within the file space of your mailing list. For example, the following substitution: $INCLUDE-help/topics will include the contents of the "help topics" document into the current file. The line that contains the substitution must end immediately after the file location. Included files can also use the $INCLUDE substitution, but more than 3 levels of nesting is taken to be an infinite loop, which will cause an error message to be displayed. The $INCLUDE substitution is supported by reply files, but not by error files or format files. If you misspell a variable, or use one that is not defined, it will appear exactly as you typed it, including the dollar sign. You can keep variable evaluation from happening by preceding the dollar sign with a backslash, as in \$MAJORDOMO which will appear as simply "$MAJORDOMO" after the substitutions are finished. In addition, the text can be padded and justified, as illustrated in this example: $LIST:-18 X $COMMAND:11 The name of the mailing list is padded with spaces to at least 18 characters and left-justified. The command is padded to at least 11 characters and right-justified. If the mailing list name is "aardvark" and the command is "subscribe" then this line would be displayed as aardvark X subscribe Padding in this manner is very useful for commands, such as who-enhanced, that display a table of data with each column aligned properly. See "help get" and "help put" for information on how to see, change, or create the error, format, and reply files that use these substitutions. Standard substitution variables ------------------------------- There is a set of standard substitutions, that apply to most of the Majordomo error, format, and reply files. Their names and values (in the context of the GLOBAL list) are shown in the following list. Naturally, some of the variables (LIST, OWNER, PLIST, REQUEST, SUBLIST, and WHOAMI) will vary depending upon the mailing list. $ARCURL (The URL that allows access to an external archive. This value is determined by the archive_url configuration setting; see "help configset_archive_url" for more information.) $CONFIRM_URL https://lists.openbsd.org/cgi-bin/mj_confirm/domain=openbsd.org?t= (The location of the WWW interface to confirm a subscription, posted message, or other Majordomo command.) $DATE The date at which a request was originally issued; in some cases this may be the Date header from a posted message. $DOMAIN openbsd.org (The name of the current domain, as determined at installation time) $LIST GLOBAL (The name of the current mailing list, or GLOBAL. If a sublist is specified, the list name will be followed by a colon ':' and the name of the sublist.) $MJ majordomo@openbsd.org (The e-mail address of the majordomo server) $MAJORDOMO majordomo@openbsd.org (The e-mail address of the majordomo server) $MJOWNER owner-majordomo@openbsd.org (The e-mail address of the administrator of this domain) $OWNER owner-majordomo@openbsd.org (The e-mail address of the administrator of the current mailing list) $PLIST GLOBAL (The name of the current mailing list, or GLOBAL.) $PWLENGTH 4 (The minimum length of a new password. See "help password" and "help admin_passwords" for details.) $REQUEST majordomo@openbsd.org (The "request" address for a mailing list) $SITE OpenBSD Mailing List Server (A description of this domain, taken from the site_name configuration setting.) $SUBLIST (An auxiliary list, if one is used. See "help auxiliary_list" for details.) $UCLIST GLOBAL (The name of the current mailing list, in capital letters) $VERSION 0.1201103110 (Which version of Majordomo 2 is used at this site.) $WHEREAMI openbsd.org (The name of the current domain.) $WHOAMI majordomo@openbsd.org (The list address, or the Majordomo server address in a GLOBAL context.) $WWWADM_URL https://lists.openbsd.org/cgi-bin/mj_wwwadm/domain=openbsd.org (The location of the WWW interface for list administrators) $WWWUSR_URL https://lists.openbsd.org/cgi-bin/mj_wwwusr/domain=openbsd.org (The location of the WWW interface for list subscribers) Other variables --------------- In time, a complete list of the other substitutions supported by the error, format, and reply files will be presented here. See "help error_files" for a description of each of the error files. See "help format_files" for a description of each of the format files. See "help reply_files" for a description of each of the reply files. $ACKDENY_CHECKBOX $ACKPOST_CHECKBOX $ACKREJECT_CHECKBOX $ACKSTALL_CHECKBOX $ELIMINATECC_CHECKBOX $HIDEADDRESS_CHECKBOX $HIDEALL_CHECKBOX $HIDEPOST_CHECKBOX $POSTBLOCK_CHECKBOX $PREFIX_CHECKBOX $REPLYTO_CHECKBOX $REWRITEFROM_CHECKBOX $SELFCOPY_CHECKBOX Check boxes for HTML forms used by the WWW interfaces to display a personal setting for a particular subscription. $ADDRESS An e-mail address. $ALIASES The mail aliases required by your system's message transport software for one or more mailing lists. $ALL_FOOTERS $ALL_FRONTERS All of the list's message_footers and message_fronters, respectively (if any), separated by blank lines. $APPROVALS The number of people who must use the accept command to approve a stalled request. $ARCHIVE The archive name of a posted message, for example "200008". This is not the same as the sequence number; see "help archive" for more details. $AUTHOR_NEXT $AUTHOR_PREV $DATE_NEXT $DATE_PREV $NUMERIC_NEXT $NUMERIC_PREV $SUBJECT_NEXT $SUBJECT_PREV $THREAD_NEXT $THREAD_PREV These substitutions contain the message numbers of the next and previous messages within a mailing list archive, depending upon the order in which the messages are sorted. $BOUNCE_DATA This substitution displays statistics and diagnotic messages for addresses to which a posted message could not be delivered. $BOUNCE_PERCENT This variable contains the percentage of posted messages that have bounced for a particular address. $BOUNCES_DAY $BOUNCES_MONTH $BOUNCES_WEEK These variables contain the number of delivery failures for a particular address in the specified period of time. $CAN_READ This boolean variable is true if the person making a request has permission to use the archive command for a particular mailing list. $CATEGORY A configuration setting category. $CGIDATA A supplementary part of the URL of the current CGI script, for use in the web interfaces when the URL is used in an anchor ("<a href=...>"). $CGIURL The URL of the current CGI script, when one of the web interfaces is being used. $CHANGED This substitution is used by the password command to indicate whether or not the password was changed or merely reported. Its value is " " if the password was changed, and '' otherwise. $CHARSET The character set of a file, a message, or part of a message. $CHUNKSIZE The number of addresses displayed at one time by the who command in the wwwadm interface. $CMDLINE The command line that would be used to issue a command via e-mail or the mj_shell program. $CMDPASS The password with which the current command was issued. $COMMAND The name of a Majordomo command. $COMMENT A description of a configuration setting or category. $CONSECUTIVE The number of consecutive messages to a particular address that have bounced. $CONSULT " " if the type of a stalled command is "consult"; '' otherwise. "consult" means that the moderators must confirm the command. $CONTENT_TYPE The content type of a file, a message, or part of a message. $COUNT The number of settings in a particular configuration category. Also, the number of commands processed by the command parser. Also, the number of attachments in a message processed by the command parser. $DESCRIPTION A description of a mailing list, as determined by the description and description_long configuration settings. Also, a description of a digest, as determined by the digests configuration setting. Also, a description of a file. $DIAGNOSTIC The explanation for a delivery failure that is extracted from a bounce message. $DIGESTNAME The name of a digest, as determined by the digests configuration setting. $ELAPSED The amount of time, in seconds, required for a command to execute. $ENCODING The content transfer encoding of a file, a message, or a message part. $ERROR An error message which describes why a command failed. $EXPIRE The number of days before a request that has been stalled expires, or in some cases the date at which it will expire. This value is determined by the token_lifetime configuration setting (see "help configset_token_lifetime" for details). $EXTRA The contents of the "extra" CGI parameter, which usually contains arguments for a command. $FAIL " " if a command invoked with the "accept" or "default user" command failed; '' otherwise. Also, a count of commands that failed. $FILE The name of a file. $FINISH The date of the latest of a group of messages or requests. $FOOTER $FRONTER The list's message_footer and message_fronter, respectively. If there are multiple fronters or footers, the first of each will be used. $FULFILL The date at which a delayed request will be completed (see "help delay" for more information). $FULLPATH The name of a file, including the directory that holds it. $HANDLER When a bounce message is presented in a recognizable format, this variable contains the name of the format (e.g., "DSN" or "Compuserve"). $HEREARGS The contents of the "hereargs" CGI parameter, which usually contains arguments for a command. $HOST The host from which a posted message is distributed to the subscribers of a mailing list. This value comes from the resend_host configuration setting (see "help configset_resend_host" for more details). $INACTIVE " " if the "active" configuration setting of a newly created mailing list is off; '' otherwise. $ISPOST " " if a token refers to a stalled posted message; '' if a token refers to a Majordomo command. $ISSUES The number of issues of a digest that were delivered. $LANGUAGE The language in which a file is written (e.g., "en" for English). $LAST_RUN $NEWEST_AGE $NEXT_RUN $OLDEST_AGE The status of a particular digest: when it was last issued, when the next issue might be delivered, and the ages of the oldest and newest messages that are awaiting delivery. $LINE The line number at which a pattern matched part of the body of a posted message. $LINES For the configshow command, this is the number of lines occupied by a multi-line configuration setting value. In the command parser, this is a number of unrecognized lines that are skipped because the parser does not recognize them as part of a command. $LOCATION In error messages for invalid e-mail addresses, this variable contains the invalid portion of the address. In taboo match descriptions, this variable contains the text that matched. $MAX_AGE $MAX_MSGS $MAX_SIZE $MIN_AGE $MIN_MSGS $MIN_SIZE Constraints on digest delivery, as determined by the digests configuration setting. $MAXLENGTH The size limit on a posted message, as determined by the maxlength configuration setting. $MESSAGE_ID The message ID, from the "Message-Id" header, of a posted message. $MESSAGECOUNT The number of e-mail messages mailed in a digest, or mailed individually using the archive-get command. $MODE The command mode. For example, the command mode of the "who-enhanced" command would be "enhanced." $MSGNO The archive name and number of a posted message, for example "200008/12". This is not the same as the sequence number. See "help archive" for more details. $NEEDCOPY The list of addresses that need to be replied to in order for everyone who received a copy of the original messages to receive a copy of the reply. This generally includes the list address plus the address of any non-list-members whose addresses appear in the To: and CC: headers. $NEWADDRESS The e-mail address to which a command or posted message is forwarded. $NEWCOMMAND The Majordomo command that should be used instead of an obsolete command (e.g., "configset" instead of the obsolete "newconfig"). $NEWLIST The most recent name of a mailing list that has been created, renamed, or destroyed with the createlist command. $NOARCHIVE " " if the archive for a new mailing list was not created automatically; '' otherwise. $NONMEMBER " " if an address is not subscribed to the mailing list; '' otherwise. $NOTIFIED " " if an acknowledgement message was sent to the victim of a command; '' otherwise. $OLDALIASES The original aliases of a mailing list that has been renamed with the createlist command. $OLDLIST The original name of a mailing list that has been renamed with the createlist command. $PARENT The parent directory of a directory that is being displayed by the index command. $PART The part number of one part of a posted message. $PASSWORD The personal password corresponding to a particular e-mail address, or the master password of a newly created mailing list. $PATH The name of a directory. $PATTERN A pattern listed in the taboo_headers configuration setting, or another related setting. $PERMISSIONS The access permissions for a file or a directory. $QSADDR An e-mail address, altered to allow it to be included safely in the query string of a URL. $RANDOM_FOOTER $RANDOM_FRONTER A randomly chosen message_footer and message_fronter, respectively. $REMIND The number of days before a reminder for a request that requires confirmation, is sent to the person whom the request affects. This value is determined by the token_remind configuration setting (see "help configset_token_remind" for details). $REASONS The reasons, supplied by the access rules, that a request was denied or stalled (see "help configset_access_rules" for more details). $REQUESTER The e-mail address from which a Majordomo request was sent. $SENDER The e-mail address from which a posted message was sent, or the envelope address used by a mailing list to deliver messages to the subscribers. $SEPARATOR A line, in an e-mail message, that the command parser considers a signature separator (see "help configset_signature_separator" for more information). $SEQNO The sequence number of a message posted to a mailing list. This value comes from the sequence_number configuration setting (see "help configset_sequence_number" for more information). $SESSIONUSER The e-mail address of the person who initiated a majordomo session. $SETTING The name of a configuration setting category, in capital letters, or the name of a configuration setting or default setting. $SETTINGS The names of the configuration settings within a particular configuration category. $SIZE The size of a file, a message, or part of a message. $SOURCE The source of an alias. For example, if mary@example.com is an alias for joe@example.edu, mary@example.com is the source. $STALL " " if a command invoked with the "accept" or "default user" command requires further approval; '' otherwise. Also, a count of commands that stalled. $START The date of the earliest of a group of messages or requests. $STATUS The result of a request: succeed, stall, or fail. A kind of bounce message: failure or warning. $STRIPADDR $STRIPUSER A stripped address does not include any comments, such as the person's full name. $SUBJECT The Subject header of a posted message. $SUBLIST The name of the auxiliary list to which a command applies (see "help auxiliary_list" for more information). $SUBSCRIBED If a message was posted by a subscriber to the mailing list, this value is empty. If not, it is the word "not". $SUCCEED " " if a command invoked with the "accept" or "default user" command succeeded; '' otherwise. Also, a count of commands that succeeded. $TAG The tag that is used to mark the end of a here document. See "help here_document" for more details. $TARGET The target of an alias. For example, if mary@example.com is an alias for joe@example.edu, joe@example.edu is the target. $TIME The time of day at which a request was processed. $TOKEN The twelve-character identifier that is used to accept or reject a stalled command (see "help tokeninfo" for more information.) $TOPIC When a help file is displayed, this value is replaced by the name of the help file. $TOTAL_POSTS The total number of messages affected by the archive command. $TYPE The type of a stalled command, such as "confirm" if the person affected by the request must confirm the command, or "consult" if the moderators must confirm the command. In the context of taboo pattern matches, this is the type of pattern that matched a header or body of a posted message, in capital letters (e.g., "TABOO_BODY"). $URL Identical to $CONFIRM_URL $USER The e-mail address from which a Majordomo request was originally sent. (this needs to be reconciled with $REQUESTER) $VALUE The value of a default setting. $VICTIM The e-mail address of the person affected by a Majordomo command. $WELCOME " " if the owners' guide was mailed to the owners of a new mailing list; '' otherwise. $WILLACK " " if an acknowledgement message will be mailed if a token is accepted or rejected; '' otherwise. $YEARS A list of years for which a message archive exists. Extensions for error and format files ------------------------------------- Beyond the standard reply files, Majordomo comes with error and format files that determine the output of the individual Majordomo commands. Error files are used to display explanations when a command is incorrect, not permitted, or otherwise unavailable. Format files display the output of the individual commands, and vary depending upon the interface. Currently, the e-mail and mj_shell interfaces use the "text" format files, whereas the web interfaces use the "wwwadm" and "wwwusr" format files. There are three extensions to the substitutions which are used by the error and format files. 1. A keyword variable prefixed with a question mark instead of a dollar sign will cause the whole line to be omitted from the output if the value is not set. Example: The archive is available on the web at ?ARCURL 2. A substitution value that is actually an array of values will cause the same line to be displayed multiple times, once for each value in the array. Other substitutions on the same line, which only have one value, will be displayed only on the first line. Example: $LIST:-23 $DESCRIPTION (This example is used by the lists command to display a list name and a multiple-line description of the mailing list. Although the list name only appears on the first line, a 23 space indentation appears on each succeeding line, which keeps the lines of the description aligned with one another.) 3. The special $HELP substitution, following by a colon and the name of a help page (in upper-case letters), will cause a hypertext link to that page to appear in the output of the WWW interfaces. In the text formatting files, the variable is simply replaced by the name of the page, in lower-case letters. Example: You may change your delivery class using the $HELP:SET command. See Also: help access_variables help admin_documents help announce help configset_access_rules (for mailfile and deny usage) help configset_site_name help configset_welcome_files (for additional files that can be sent) help digest (for additional file names and usage) help error_files help format_files help get (obtain existing files) help help help here_document help put (create or update files by email) help reply_files This is the "variables" help document for Majordomo 2, version 0.1201103110. For a list of all help documents, send the following command: help topics in the body of a message to majordomo@openbsd.org.
For assistance, please contact the openbsd.org administrators.
Sign In | Sign Out | Mailing Lists | Unsubscribe or Change Settings | Help |