Next: 16. List creation, families and list Up: Sympa Mailing Lists Management Software version Previous: 14. Customizing Sympa/WWSympa Contents Index
Subsections

- 15.1 Mail aliases
- 15.2 List configuration file
- 15.3 Examples of configuration files
- 15.4 Subscribers file
- 15.5 Info file
- 15.6 Homepage file
- 15.7 Data inclusion file
- 15.8 List template files
  - 15.8.1 welcome.tt2
  - 15.8.2 bye.tt2
  - 15.8.3 removed.tt2
  - 15.8.4 reject.tt2
  - 15.8.5 invite.tt2
  - 15.8.6 remind.tt2
  - 15.8.7 summary.tt2
  - 15.8.8 list_aliases.tt2
- 15.9 Stats file
- 15.10 List model files
  - 15.10.1 remind.annual.task
  - 15.10.2 expire.annual.task
- 15.11 Message header and footer
  - 15.11.1 Archive directory

#
15. Mailing list definition

This chapter describes what a mailing list is made of within Sympa environment.

#
15.1 Mail aliases

See list aliases section, 15.1, page )

#
15.2 List configuration file

The configuration file for the `mylist` list is named `/usr/local/sympa-os/expl/my.domain.org/mylist/config` (or `/usr/local/sympa-os/expl/mylist/config` if no virtual robot is defined). Sympa reads it into memory the first time the list is refered to. This file is not rewritten by Sympa, so you may put comment lines in it. It is possible to change this file when the program is running. Changes are taken into account the next time the list is accessed. Be careful to provide read access for Sympa user to this file !

You will find a few configuration files in the `sample` directory.

List configuration parameters are described in the list creation section, 18, page .

# 15.3 Examples of configuration files

This first example is for a list open to everyone:

    subject First example (an open list)

    visibility noconceal

    owner
    email Pierre.David@prism.uvsq.fr

    send public

    review public

The second example is for a moderated list with authenticated subscription:

    subject Second example (a moderated list)

    visibility noconceal

    owner
    email moi@ici.fr

    editor
    email big.prof@ailleurs.edu

    send editor

    subscribe auth

    review owner

    reply_to_header
    value list

    cookie 142cleliste

The third example is for a moderated list, with subscription controlled by the owner, and running in digest mode. Subscribers who are in digest mode receive messages on Mondays and Thursdays.

    owner
    email moi@ici.fr

    editor
    email prof@ailleurs.edu

    send editor

    subscribe owner

    review owner

    reply_to_header
    value list

    digest 1,4 12:00

#
15.4 Subscribers file

Be carefull: Since version 3.3.6 of Sympa, a RDBMS is required for internal data storage. Flat file should not be use anymore except for testing purpose. Sympa will not use this file if the list is configured with `include` or `database` `user_data_source`.

The `/usr/local/sympa-os/expl/mylist/subscribers` file is automatically created and populated. It contains information about list subscribers. It is not advisable to edit this file. Main parameters are:

- `email` address

  E-mail address of subscriber.

- `gecos` data

  Information about subscriber (last name, first name, etc.) This parameter is optional at subscription time.

- `reception` `nomail` `|` `digest` `|` `summary` `|` `notice` `|` `txt` `|` `html` `|` `urlize` `|` `not_me` `|`

  Special receive modes which the subscriber may select. Special modes can be either nomail, digest, summary, notice, txt, html, urlize, not_me . In normal receive mode, the receive attribute for a subscriber is not displayed. See the `SET LISTNAME SUMMARY` (24.1, page ), the `SET LISTNAME NOMAIL` command (24.1, page ), and the `digest` parameter (18.4.8, page ).

- `visibility` `conceal`

  Special mode which allows the subscriber to remain invisible when a `REVIEW` command is issued for the list. If this parameter is not declared, the subscriber will be visible for `REVIEW`. Note: this option does not affect the results of a `REVIEW` command issued by an owner. See the `SET LISTNAME MAIL` command (24.1, page ) for details.

# 15.5 Info file

`/usr/local/sympa-os/expl/mylist/info` should contain a detailed text description of the list, to be displayed by the `INFO` command. It can also be referenced from template files for service messages.

# 15.6 Homepage file

`/usr/local/sympa-os/expl/mylist/homepage` is the HTML text on the WWSympa info page for the list.

#
15.7 Data inclusion file

Sympa will use these files only if the list is configured in `include2` `user_data_source` mode. Every file has the .incl extension. More over, these files must be declared in paragraphs `owner_include` or `editor_inlude` in the list configuration file without the .incl extension (see 18, page ). This files can be template file.

Sympa looks for them in the following order :

1. `/usr/local/sympa-os/expl/mylist/data_sources/`<`file`>`.incl`.
2. `/usr/local/sympa-os/etc/data_sources/`<`file`>`.incl`.
3. `/usr/local/sympa-os/etc/my.domain.org/data_sources/`<`file`>`.incl`.

These files are used by Sympa to load administrative data in a relational database : Owners or editors are defined intensively (definition of criteria owners or editors must satisfy). Includes can be performed by extracting e-mail addresses using an SQL or LDAP query, or by including other mailing lists.

A data inclusion file is composed of paragraphs separated by blank lines and introduced by a keyword. Valid paragraphs are `include_file`, `include_list`, `include_remote_sympa_list`, `include_sql_query` and `include_ldap_query`. They are described in the list configuration parameters chapitre, 18, page .

When this file is a template, used variables are array elements (`param` array). This array is instantiated by values contained in the subparameter `source_parameter` of `owner_include` or `editor_inlude`.

Example :

- in the list configuration file :

      	owner_include
      	source myfile
      	source_parameters mysql,rennes1,stduser,mysecret,studentbody,student

- in myfile.incl :

      	include_sql_query
      	db_type [% param.0 %]
      	host sqlserv.admin.univ-[% param.1 %].fr
      	user [% param.2 %]
      	passwd [% param.3 %]
              db_name [% param.4 %]
      	sql_query SELECT DISTINCT email FROM [% param.5 %]

- resulting data inclusion file :

      	include_sql_query
      	db_type mysql
      	host sqlserv.admin.univ-rennes1.fr
              user stduser
              passwd mysecret
              db_name studentbody
              sql_query SELECT DISTINCT email FROM student

#
15.8 List template files

These files are used by Sympa as service messages for commands such as `SUB`, `ADD`, `SIG`, `DEL`, `REJECT`. These files are interpreted (parsed) by Sympa and respect the template format ; every file has the .tt2 extension. See 14.1, page .

Sympa looks for these files in the following order :

1. `/usr/local/sympa-os/expl/mylist/mail_tt2/`<`file`>`.tt2`
2. `/usr/local/sympa-os/etc/mail_tt2/`<`file`>`.tt2`.
3. `/usr/local/sympa-os/bin/etc/mail_tt2/`<`file`>`.tt2`.

If the file starts with a From: line, it is taken to be a full message and will be sent (after parsing) without the addition of SMTP headers. Otherwise the file is treated as a text/plain message body.

The following variables may be used in list template files :

-
  [% conf.email %] : sympa e-mail address local part

-
  [% conf.domain %] : sympa robot domain name

-
  [% conf.sympa %] : sympa's complete e-mail address

-
  [% conf.wwsympa_url %] : WWSympa root URL

-
  [% conf.listmaster %] : listmaster e-mail addresses

-
  [% list.name %] : list name

-
  [% list.host %] : list hostname (default is sympa robot domain name)

-
  [% list.lang %] : list language

-
  [% list.subject %] : list subject

-
  [% list.owner %] : list owners table hash

-
  [% user.email %] : user e-mail address

-
  [% user.gecos %] : user gecos field (usually his/her name)

-
  [% user.password %] : user password

-
  [% user.lang %] : user language

-
  [% execution_date %] : the date when the scenario is executed

You may also dynamically include a file from a template using the [% INSERT %] directive.

Example:

    Dear [% user.email %],

    Welcome to list [% list.name %]@[% list.host %].

    Presentation of the list :
    [% INSERT 'info' %]

    The owners of [% list.name %] are :
    [% FOREACH ow = list.owner %]
       [% ow.value.gecos %] <[% ow.value.email %]>
    [% END %]

## 15.8.1 welcome.tt2

Sympa will send a welcome message for every subscription. The welcome message can be customized for each list.

## 15.8.2 bye.tt2

Sympa will send a farewell message for each SIGNOFF mail command received.

## 15.8.3 removed.tt2

This message is sent to users who have been deleted (using the `DELETE` command) from the list by the list owner.

## 15.8.4 reject.tt2

Sympa will send a reject message to the senders of messages rejected by the list editor. If the editor prefixes her `REJECT` with the keyword QUIET, the reject message will not be sent.

## 15.8.5 invite.tt2

This message is sent to users who have been invited (using the `INVITE` command) to subscribe to a list.

You may use additional variables

-
  [% requested_by %] : e-mail of the person who sent the `INVITE` command

-
  [% url %] : the mailto: URL to subscribe to the list

## 15.8.6 remind.tt2

This file contains a message sent to each subscriber when one of the list owners sends the `REMIND` command (see 24.2, page ).

## 15.8.7 summary.tt2

Template for summaries (reception mode close to digest), see 24.1, page .

##
15.8.8 list_aliases.tt2

Template that defines list mail alises. It is used by the alias_manager script.

#
15.9 Stats file

`/usr/local/sympa-os/expl/mylist/stats` is a text file containing statistics about the list. Data are numerics separated by white space within a single line :

- Number of messages sent, used to generate X-sequence headers

- Number of messages X number of recipients

- Number of bytes X number of messages

- Number of bytes X number of messages X number of recipients

- Number of subscribers

- Last update date (epoch format) of the subscribers cache in DB, used by lists in include2 mode only

#
15.10 List model files

These files are used by Sympa to create task files. They are interpreted (parsed) by the task manager and respect the task format. See 14.10, page .

## 15.10.1 remind.annual.task

Every year Sympa will send a message (the template `remind.tt2`) to all subscribers of the list to remind them of their subscription.

## 15.10.2 expire.annual.task

Every month Sympa will delete subscribers older than one year who haven't answered two warning messages.

#
15.11 Message header and footer

You may create `/usr/local/sympa-os/expl/mylist/message.header` and `/usr/local/sympa-os/expl/mylist/message.footer` files. Their content is added, respectively at the beginning and at the end of each message before the distribution process. You may also include the content-type of the appended part (when `footer_type` list parameter s set to mime) by renaming the files to `message.header.mime` and `message.footer.mime`.

The `footer_type` list parameter defines whether to attach the header/footer content as a MIME part (except for multipart/alternative messages), or to append them to the message body (for text/plain messages).

Under certain circumstances, Sympa will NOT add headers/footers, here is its algorythm :

    if message is not multipart/signed
            if footer_type==append
    	        if message is text/plain
    		       append header/footer to it
    		else if message is multipart AND first part is text/plain
    		       append header/footer to first part

            if footer_type==mime
    	        if message is not multipart/alternative
    		       add header/footer as a new MIME part

## 15.11.1 Archive directory

The `/usr/local/sympa-os/expl/mylist/archives/` directory contains the archived messages for lists which are archived; see 18.6.1, page . The files are named in accordance with the archiving frequency defined by the `archive` parameter.

Next: 16. List creation, families and list Up: Sympa Mailing Lists Management Software version Previous: 14. Customizing Sympa/WWSympa Contents Index