<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>3.5 The Non-digest Options Category</title>
<META NAME="description" CONTENT="3.5 The Non-digest Options Category">
<META NAME="keywords" CONTENT="mailman-admin">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" href="mailman-admin.css">
<link rel="first" href="mailman-admin.html">
<link rel="contents" href="contents.html" title="Contents">
<LINK REL="next" HREF="node20.html">
<LINK REL="previous" HREF="node18.html">
<LINK REL="up" HREF="node9.html">
<LINK REL="next" HREF="node20.html">
</head>
<body>
<DIV CLASS="navigation">
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node18.html"><img src="../icons/previous.gif"
border="0" height="32"
alt="Previous Page" width="32"></A></td>
<td><A HREF="node9.html"><img src="../icons/up.gif"
border="0" height="32"
alt="Up One Level" width="32"></A></td>
<td><A HREF="node20.html"><img src="../icons/next.gif"
border="0" height="32"
alt="Next Page" width="32"></A></td>
<td align="center" width="100%">GNU Mailman - List Administration Manual</td>
<td><A href="contents.html"><img src="../icons/contents.gif"
border="0" height="32"
alt="Contents" width="32"></A></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node18.html">3.4 The Membership Management</A>
<b class="navlabel">Up:</b> <a class="sectref" HREF="node9.html">3 The List Configuration</A>
<b class="navlabel">Next:</b> <a class="sectref" HREF="node20.html">3.6 The Digest Options</A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION002350000000000000000">
3.5 The Non-digest Options Category</A>
</H2>
<P>
Mailman delivers messages to users via two modes. List members can
elect to receive postings in bundles call <i>digests</i> one or a few
times a day, or they can receive messages immediately whenever the
message is posted to the list. This latter delivery mode is also
called <i>non-digest delivery</i>. There are two administrative
categories available for separately controlling digest and non-digest
delivery. You can even disable one or the other forms of delivery
(but not both).
<P>
Both kinds of delivery can have list-specific headers and footers
added to them which can contain other useful information you want your
list members to see. For example, you can include instructions for
unsubscribing, or a url to the lists digest, or any other information.
<P>
Non-digest deliveries can also be <i>personalized</i> which means
certain parts of the message can contain information tailored to the
member receiving the message. For example, the <span class="mailheader">To:</span> header
will contain the address of the member when deliveries are
personalized. Footers and headers can contain personalized
information as well, such as a link to the individual user's options
page.
<P>
In addition, personalized messages will contain extra information that
Mailman can use to unambiguously track bounces from members.
Ordinarily, Mailman does some pattern recognition on bounce messages
to determine list members whose addresses are no longer valid, but
because of the vagaries of mail systems, and the countless forwards
people can put in place, it's often the case that bounce messages
don't contain any useful information in them. Personalized messages
avoid this problem by encoding information in certain headers that
unambiguously identify the recipient of a message. If that message
bounces, Mailman will know exactly which member it was intended for.
<P>
Note that because personalization requires extra system resources, it
must be enabled by the site administrator before you can choose it.
<P>
Here are the variables which control non-digest delivery:
<P>
<DL>
<DT><STRONG>nondigestable</STRONG></DT>
<DD>This option controls whether members can receive immediate
delivery or not. If not, they will be forced to receive messages
in digests. You can't disable non-digest delivery if digests are
already disabled.
<P>
</DD>
<DT><STRONG>personalize</STRONG></DT>
<DD>This option turns on message personalization.
<P>
</DD>
<DT><STRONG>msg_header</STRONG></DT>
<DD>This text box lets you enter information that will be included in
the header of every non-digest message sent through the
list.
<P>
See below for more information on what can go in the headers and
footers. If you leave this text box empty, no header will be
added.
<P>
</DD>
<DT><STRONG>msg_footer</STRONG></DT>
<DD>Just like with the header, you can add a footer to every message.
The same rules apply to footers as apply to headers.
</DD>
</DL>
<P>
Headers and footers can contain any text you want. For non-English
lists, the headers and footers can contain any character in the
character set of the list's preferred language. The headers and
footers can also contain <i>substitution variables</i> which Mailman
will fill in with information taken from the mailing list. These
substitutions are in Python string interpolation format, where
something like <code>%(list_name)s</code> is substituted with he name of
the mailing list. Note that the trailing "<tt class="samp">s</tt>" is
required<A NAME="tex2html4"
HREF="#foot281"><SUP>2</SUP></A>.
<P>
For example, a footer containing the following text:
<P>
<dl><dd><pre class="verbatim">
This is the \%(list_name)s mailing list
Description: \%(description)s
</pre></dl>
<P>
might get attached to postings like so:
<P>
<dl><dd><pre class="verbatim">
This is the Example mailing list
Description: An example of Mailman mailing lists
</pre></dl>
<P>
Here is the list of substitution variables available for your headers
and footers:
<P>
<DL>
<DT><STRONG>real_name</STRONG></DT>
<DD>This is the value of the <code>real_name</code> configuration variable
in the General options category.
<P>
</DD>
<DT><STRONG>list_name</STRONG></DT>
<DD>This is the canonical name of the mailing list. In other words
it's the posting address of the list<A NAME="tex2html5"
HREF="#foot282"><SUP>3</SUP></A>.
<P>
</DD>
<DT><STRONG>host_name</STRONG></DT>
<DD>This is the domain name part of the email address for this list.
<P>
</DD>
<DT><STRONG>web_page_url</STRONG></DT>
<DD>This is the base url for contacting the list via the web. It can
be appended with <code>listinfo/%(list_name)s</code> to yield the
general list information page for the mailing list.
<P>
</DD>
<DT><STRONG>description</STRONG></DT>
<DD>The brief description of the mailing list.
<P>
</DD>
<DT><STRONG>info</STRONG></DT>
<DD>This is the full description of the mailing list.
<P>
</DD>
<DT><STRONG>cgiext</STRONG></DT>
<DD>This is the extension added to CGI scripts. It might be the empty
string, <code>.cgi</code>, or something else depending on how your site
is configured.
</DD>
</DL>
<P>
Note that <code>real_name</code>, <code>host_name</code>, <code>description</code>, and
<code>info</code> substitution variables take their values from the list
configuration variables of the same name.
<P>
When personalization is enabled, the following substitution variables
are also available:
<P>
<DL>
<DT><STRONG>user_address</STRONG></DT>
<DD>The address of the recipient of the message, coerced to lower case.
<P>
</DD>
<DT><STRONG>user_delivered_to</STRONG></DT>
<DD>The case-preserved address that the user subscribed to the mailing
list with<A NAME="tex2html6"
HREF="#foot283"><SUP>4</SUP></A>.
<P>
</DD>
<DT><STRONG>user_password</STRONG></DT>
<DD>The user's password, in clear text.
<P>
</DD>
<DT><STRONG>user_name</STRONG></DT>
<DD>The user's full name.
<P>
</DD>
<DT><STRONG>user_optionsurl</STRONG></DT>
<DD>The url to the user's personal options page.
</DD>
</DL>
<P>
<BR><HR><H4>Footnotes</H4>
<DL>
<DT><A NAME="foot281">...
required</A><A
HREF="node19.html#tex2html4"><SUP>2</SUP></A></DT>
<DD>The site administrator can configure lists to use a
simpler interpolation format, where <code>$list_name</code> or
<code>${list_name}</code> would be substituted with the mailing list's
name. Ask your site administrator if the've configured your list this
way.
</DD>
<DT><A NAME="foot282">... list</A><A
HREF="node19.html#tex2html5"><SUP>3</SUP></A></DT>
<DD>For backward
compatibility, the variable <code>_internal_name</code> is
equivalent.
</DD>
<DT><A NAME="foot283">... with</A><A
HREF="node19.html#tex2html6"><SUP>4</SUP></A></DT>
<DD>Usually it makes no difference which of
<code>user_address</code> and <code>user_delivered_to</code> is used, but it's
important to remember that they can be different. When they're
different, Mailman always uses the lower case address as the key
to the member's subscription information, but it always delivers
messages to the case-preserved version.
</DD>
</DL>
<DIV CLASS="navigation">
<p><hr>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node18.html"><img src="../icons/previous.gif"
border="0" height="32"
alt="Previous Page" width="32"></A></td>
<td><A HREF="node9.html"><img src="../icons/up.gif"
border="0" height="32"
alt="Up One Level" width="32"></A></td>
<td><A HREF="node20.html"><img src="../icons/next.gif"
border="0" height="32"
alt="Next Page" width="32"></A></td>
<td align="center" width="100%">GNU Mailman - List Administration Manual</td>
<td><A href="contents.html"><img src="../icons/contents.gif"
border="0" height="32"
alt="Contents" width="32"></A></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
<td><img src="../icons/blank.gif"
border="0" height="32"
alt="" width="32"></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node18.html">3.4 The Membership Management</A>
<b class="navlabel">Up:</b> <a class="sectref" HREF="node9.html">3 The List Configuration</A>
<b class="navlabel">Next:</b> <a class="sectref" HREF="node20.html">3.6 The Digest Options</A>
<hr>
<span class="release-info">Release 2.1, documentation updated on October 2, 2004.</span>
</DIV>
<!--End of Navigation Panel-->
</BODY>
</HTML>