\contentsline {chapter}{\numberline {1}Presentation}{11}
\contentsline {section}{\numberline {1.1}License}{12}
\contentsline {section}{\numberline {1.2}Features}{12}
\contentsline {section}{\numberline {1.3}Project directions}{14}
\contentsline {section}{\numberline {1.4}History}{14}
\contentsline {section}{\numberline {1.5}Authors and credits}{15}
\contentsline {section}{\numberline {1.6}Mailing lists and support}{16}
\contentsline {chapter}{\numberline {2}what does \textit {Sympa}\xspace consist of ?}{19}
\contentsline {section}{\numberline {2.1}Organization}{19}
\contentsline {section}{\numberline {2.2}Binaries}{21}
\contentsline {section}{\numberline {2.3}Configuration files}{21}
\contentsline {section}{\numberline {2.4}Spools}{22}
\contentsline {chapter}{\numberline {3}Installing \textit {Sympa}\xspace }{23}
\contentsline {section}{\numberline {3.1}Obtaining \textit {Sympa}\xspace , related links}{23}
\contentsline {section}{\numberline {3.2}Prerequisites}{23}
\contentsline {subsection}{\numberline {3.2.1}System requirements}{24}
\contentsline {subsection}{\numberline {3.2.2}Install Berkeley DB (NEWDB)}{25}
\contentsline {subsection}{\numberline {3.2.3}Install PERL and CPAN modules}{25}
\contentsline {subsection}{\numberline {3.2.4}Required CPAN modules}{26}
\contentsline {subsection}{\numberline {3.2.5}Create a UNIX user}{27}
\contentsline {section}{\numberline {3.3}Compilation and installation }{27}
\contentsline {subsection}{\numberline {3.3.1}Choosing directory locations}{29}
\contentsline {section}{\numberline {3.4}Robot aliases}{29}
\contentsline {section}{\numberline {3.5}Logs}{31}
\contentsline {section}{\numberline {3.6}sympa.pl}{31}
\contentsline {chapter}{\numberline {4}sympa.conf parameters}{33}
\contentsline {section}{\numberline {4.1}Site customization}{33}
\contentsline {subsection}{\numberline {4.1.1}\texttt {host}}{33}
\contentsline {subsection}{\numberline {4.1.2}\texttt {email}}{34}
\contentsline {subsection}{\numberline {4.1.3}\texttt {listmaster}}{34}
\contentsline {subsection}{\numberline {4.1.4}\texttt {wwsympa\_url}}{34}
\contentsline {subsection}{\numberline {4.1.5}\texttt {dark\_color} \texttt {light\_color} \texttt {text\_color} \texttt {bg\_color} \texttt {error\_color} \texttt {selected\_color} \texttt {shaded\_color}}{34}
\contentsline {subsection}{\numberline {4.1.6}\texttt {cookie}}{34}
\contentsline {subsection}{\numberline {4.1.7}\texttt {create\_list}}{35}
\contentsline {section}{\numberline {4.2}Directories}{35}
\contentsline {subsection}{\numberline {4.2.1}\texttt {home}}{35}
\contentsline {subsection}{\numberline {4.2.2}\texttt {etc}}{35}
\contentsline {section}{\numberline {4.3}System related}{36}
\contentsline {subsection}{\numberline {4.3.1}\texttt {syslog}}{36}
\contentsline {subsection}{\numberline {4.3.2}\texttt {log\_socket\_type}}{36}
\contentsline {subsection}{\numberline {4.3.3}\texttt {pidfile}}{36}
\contentsline {subsection}{\numberline {4.3.4}\texttt {umask}}{36}
\contentsline {section}{\numberline {4.4}Sending related}{37}
\contentsline {subsection}{\numberline {4.4.1}\texttt {maxsmtp}}{37}
\contentsline {subsection}{\numberline {4.4.2}\texttt {log\_smtp}}{37}
\contentsline {subsection}{\numberline {4.4.3}\texttt {max\_size}}{37}
\contentsline {subsection}{\numberline {4.4.4}\texttt {misaddressed\_commands}}{37}
\contentsline {subsection}{\numberline {4.4.5}\texttt {nrcpt}}{38}
\contentsline {subsection}{\numberline {4.4.6}\texttt {avg}}{38}
\contentsline {subsection}{\numberline {4.4.7}\texttt {sendmail}}{38}
\contentsline {subsection}{\numberline {4.4.8}\texttt {sendmail\_args}}{38}
\contentsline {subsection}{\numberline {4.4.9}\texttt {rfc2369\_header\_fields}}{38}
\contentsline {subsection}{\numberline {4.4.10}\texttt {remove\_headers}}{39}
\contentsline {subsection}{\numberline {4.4.11}\texttt {anonymous\_headers\_fields}}{39}
\contentsline {subsection}{\numberline {4.4.12}\texttt {list\_check\_smtp}}{39}
\contentsline {subsection}{\numberline {4.4.13}\texttt {list\_check\_suffixes}}{39}
\contentsline {section}{\numberline {4.5}Spool related}{40}
\contentsline {subsection}{\numberline {4.5.1}\texttt {spool}}{40}
\contentsline {subsection}{\numberline {4.5.2}\texttt {queue}}{40}
\contentsline {subsection}{\numberline {4.5.3}\texttt {queuemod}}{40}
\contentsline {subsection}{\numberline {4.5.4}\texttt {queuedigest}}{40}
\contentsline {subsection}{\numberline {4.5.5}\texttt {queueexpire}}{40}
\contentsline {subsection}{\numberline {4.5.6}\texttt {queueauth}}{41}
\contentsline {subsection}{\numberline {4.5.7}\texttt {queueoutgoing}}{41}
\contentsline {subsection}{\numberline {4.5.8}\texttt {queuebounce}}{41}
\contentsline {subsection}{\numberline {4.5.9}\texttt {queuetask}}{41}
\contentsline {subsection}{\numberline {4.5.10}\texttt {tmpdir}}{41}
\contentsline {subsection}{\numberline {4.5.11}\texttt {sleep}}{41}
\contentsline {subsection}{\numberline {4.5.12}\texttt {clean\_delay\_queue}}{42}
\contentsline {subsection}{\numberline {4.5.13}\texttt {clean\_delay\_queuemod}}{42}
\contentsline {subsection}{\numberline {4.5.14}\texttt {clean\_delay\_queueauth}}{42}
\contentsline {section}{\numberline {4.6}Internationalization related}{42}
\contentsline {subsection}{\numberline {4.6.1}\texttt {msgcat}}{42}
\contentsline {subsection}{\numberline {4.6.2}\texttt {lang}}{43}
\contentsline {section}{\numberline {4.7}Bounce related}{43}
\contentsline {subsection}{\numberline {4.7.1}\texttt {bounce\_warn\_rate}}{43}
\contentsline {subsection}{\numberline {4.7.2}\texttt {bounce\_halt\_rate}}{43}
\contentsline {subsection}{\numberline {4.7.3}\texttt {welcome\_return\_path}}{43}
\contentsline {subsection}{\numberline {4.7.4}\texttt {remind\_return\_path}}{43}
\contentsline {section}{\numberline {4.8}Priority related}{44}
\contentsline {subsection}{\numberline {4.8.1}\texttt {sympa\_priority}}{44}
\contentsline {subsection}{\numberline {4.8.2}\texttt {request\_priority}}{44}
\contentsline {subsection}{\numberline {4.8.3}\texttt {owner\_priority}}{44}
\contentsline {subsection}{\numberline {4.8.4}\texttt {default\_list\_priority}}{44}
\contentsline {section}{\numberline {4.9}Database related}{45}
\contentsline {subsection}{\numberline {4.9.1}\texttt {db\_type}}{45}
\contentsline {subsection}{\numberline {4.9.2}\texttt {db\_name}}{45}
\contentsline {subsection}{\numberline {4.9.3}\texttt {db\_host}}{45}
\contentsline {subsection}{\numberline {4.9.4}\texttt {db\_port}}{45}
\contentsline {subsection}{\numberline {4.9.5}\texttt {db\_user}}{45}
\contentsline {subsection}{\numberline {4.9.6}\texttt {db\_passwd}}{46}
\contentsline {subsection}{\numberline {4.9.7}\texttt {db\_options}}{46}
\contentsline {subsection}{\numberline {4.9.8}\texttt {db\_env}}{46}
\contentsline {subsection}{\numberline {4.9.9}\texttt {db\_additional\_subscriber\_fields}}{46}
\contentsline {subsection}{\numberline {4.9.10}\texttt {db\_additional\_user\_fields}}{47}
\contentsline {section}{\numberline {4.10}Loop prevention}{47}
\contentsline {subsection}{\numberline {4.10.1}\texttt {loop\_command\_max}}{47}
\contentsline {subsection}{\numberline {4.10.2}\texttt {loop\_command\_sampling\_delay}}{47}
\contentsline {subsection}{\numberline {4.10.3}\texttt {loop\_command\_decrease\_factor}}{47}
\contentsline {section}{\numberline {4.11}S/MIME configuration}{48}
\contentsline {subsection}{\numberline {4.11.1}\texttt {openssl}}{48}
\contentsline {subsection}{\numberline {4.11.2}\texttt {trusted\_ca\_options}}{48}
\contentsline {subsection}{\numberline {4.11.3}\texttt {key\_passwd}}{48}
\contentsline {subsection}{\numberline {4.11.4}\texttt {chk\_cert\_expiration\_task}}{48}
\contentsline {subsection}{\numberline {4.11.5}\texttt {crl\_update\_task}}{48}
\contentsline {section}{\numberline {4.12}Antivirus plug-in}{49}
\contentsline {subsection}{\numberline {4.12.1}\texttt {antivirus\_path}}{49}
\contentsline {subsection}{\numberline {4.12.2}\texttt {antivirus\_args}}{49}
\contentsline {chapter}{\numberline {5}WWSympa}{51}
\contentsline {section}{\numberline {5.1}Organization}{51}
\contentsline {section}{\numberline {5.2}HTTPD setup}{52}
\contentsline {subsection}{\numberline {5.2.1}wwsympa.fcgi access permissions}{52}
\contentsline {subsection}{\numberline {5.2.2}Installing wwsympa.fcgi in your Apache server}{53}
\contentsline {subsection}{\numberline {5.2.3}Using FastCGI}{53}
\contentsline {section}{\numberline {5.3}wwsympa.conf parameters}{54}
\contentsline {subsection}{\numberline {5.3.1}alias\_manager}{54}
\contentsline {subsection}{\numberline {5.3.2}arc\_path}{54}
\contentsline {subsection}{\numberline {5.3.3}archive\_default\_index thrd | mail}{54}
\contentsline {subsection}{\numberline {5.3.4}archived\_pidfile}{55}
\contentsline {subsection}{\numberline {5.3.5}bounce\_path}{55}
\contentsline {subsection}{\numberline {5.3.6}bounced\_pidfile}{55}
\contentsline {subsection}{\numberline {5.3.7}cookie\_expire}{55}
\contentsline {subsection}{\numberline {5.3.8}cookie\_domain}{55}
\contentsline {subsection}{\numberline {5.3.9}default\_home}{56}
\contentsline {subsection}{\numberline {5.3.10}icons\_url}{56}
\contentsline {subsection}{\numberline {5.3.11}log\_facility}{56}
\contentsline {subsection}{\numberline {5.3.12}mhonarc}{56}
\contentsline {subsection}{\numberline {5.3.13}password\_case sensitive | insensitive}{56}
\contentsline {subsection}{\numberline {5.3.14}title}{56}
\contentsline {subsection}{\numberline {5.3.15}use\_fast\_cgi 0 | 1}{57}
\contentsline {section}{\numberline {5.4}MhOnArc}{57}
\contentsline {section}{\numberline {5.5}Archiving daemon}{57}
\contentsline {section}{\numberline {5.6}Database configuration}{58}
\contentsline {chapter}{\numberline {6}\textit {Sympa}\xspace and its database}{59}
\contentsline {section}{\numberline {6.1}Prerequisites}{59}
\contentsline {section}{\numberline {6.2}Installing PERL modules}{59}
\contentsline {section}{\numberline {6.3}Creating a sympa DataBase}{60}
\contentsline {subsection}{\numberline {6.3.1}Database structure}{60}
\contentsline {subsection}{\numberline {6.3.2}Database creation}{60}
\contentsline {section}{\numberline {6.4}Importing subscribers data}{63}
\contentsline {subsection}{\numberline {6.4.1}Importing data from a text file}{63}
\contentsline {subsection}{\numberline {6.4.2}Importing data from subscribers files}{64}
\contentsline {section}{\numberline {6.5}Extending database table format}{64}
\contentsline {section}{\numberline {6.6}\textit {Sympa}\xspace configuration}{65}
\contentsline {chapter}{\numberline {7}Using \textit {Sympa}\xspace with LDAP}{67}
\contentsline {section}{\numberline {7.1}Authentication via uid or alternate email}{67}
\contentsline {subsection}{\numberline {7.1.1}auth.conf}{68}
\contentsline {section}{\numberline {7.2}Named Filters}{72}
\contentsline {subsection}{\numberline {7.2.1}Definition}{72}
\contentsline {subsection}{\numberline {7.2.2}Search Condition}{73}
\contentsline {chapter}{\numberline {8}\textit {Sympa}\xspace with S/MIME and HTTPS}{75}
\contentsline {section}{\numberline {8.1}Signed message distribution}{75}
\contentsline {section}{\numberline {8.2}Use of S/MIME signature by Sympa itself}{76}
\contentsline {section}{\numberline {8.3}Use of S/MIME encryption}{76}
\contentsline {section}{\numberline {8.4}S/Sympa configuration}{76}
\contentsline {subsection}{\numberline {8.4.1}Installation}{76}
\contentsline {subsection}{\numberline {8.4.2}configuration in sympa.conf}{77}
\contentsline {subsection}{\numberline {8.4.3}configuration to recognize S/MIME signatures}{77}
\contentsline {subsection}{\numberline {8.4.4}distributing encrypted messages}{78}
\contentsline {subsubsection}{Use of Netscape navigator to obtain X509 list certificates}{79}
\contentsline {section}{\numberline {8.5}Managing certificates with tasks}{79}
\contentsline {subsection}{\numberline {8.5.1}chk\_cert\_expiration.daily.task model}{80}
\contentsline {subsection}{\numberline {8.5.2}crl\_update.daily.task model}{80}
\contentsline {chapter}{\numberline {9}Virtual robot}{81}
\contentsline {section}{\numberline {9.1}How to create a virtual robot}{81}
\contentsline {section}{\numberline {9.2}robot.conf}{82}
\contentsline {subsection}{\numberline {9.2.1}Robot customization}{83}
\contentsline {chapter}{\numberline {10}Customizing \textit {Sympa}\xspace /\textit {WWSympa}\xspace }{85}
\contentsline {section}{\numberline {10.1}Template file format}{85}
\contentsline {subsection}{\numberline {10.1.1}Variables}{85}
\contentsline {subsection}{\numberline {10.1.2}Conditions}{86}
\contentsline {subsection}{\numberline {10.1.3}Loops}{86}
\contentsline {subsection}{\numberline {10.1.4}File inclusions}{87}
\contentsline {subsection}{\numberline {10.1.5}Stop parsing}{87}
\contentsline {section}{\numberline {10.2}Site template files}{88}
\contentsline {subsection}{\numberline {10.2.1}helpfile.tpl}{89}
\contentsline {subsection}{\numberline {10.2.2}lists.tpl}{89}
\contentsline {subsection}{\numberline {10.2.3}global\_remind.tpl}{89}
\contentsline {subsection}{\numberline {10.2.4}your\_infected\_msg.tpl}{90}
\contentsline {section}{\numberline {10.3}Web template files}{90}
\contentsline {section}{\numberline {10.4}Sharing data with other applications}{90}
\contentsline {section}{\numberline {10.5}Sharing \textit {WWSympa}\xspace authentication with other applications}{91}
\contentsline {section}{\numberline {10.6}Internationalization}{92}
\contentsline {subsection}{\numberline {10.6.1}\textit {Sympa}\xspace internationalization}{92}
\contentsline {subsection}{\numberline {10.6.2}List internationalization}{92}
\contentsline {subsection}{\numberline {10.6.3}User internationalization}{93}
\contentsline {section}{\numberline {10.7}Topics}{93}
\contentsline {section}{\numberline {10.8}Scenarii}{93}
\contentsline {subsection}{\numberline {10.8.1}rules specifications}{94}
\contentsline {subsection}{\numberline {10.8.2}scenario inclusion}{96}
\contentsline {section}{\numberline {10.9}Loop detection}{97}
\contentsline {section}{\numberline {10.10}Tasks}{98}
\contentsline {subsection}{\numberline {10.10.1}List task creation}{98}
\contentsline {subsection}{\numberline {10.10.2}Global task creation}{98}
\contentsline {subsection}{\numberline {10.10.3}Model file format}{99}
\contentsline {subsection}{\numberline {10.10.4}Model file examples}{100}
\contentsline {chapter}{\numberline {11}Mailing list definition}{103}
\contentsline {section}{\numberline {11.1}Mail aliases}{103}
\contentsline {section}{\numberline {11.2}List directory}{104}
\contentsline {section}{\numberline {11.3}List configuration file}{105}
\contentsline {section}{\numberline {11.4}Examples of configuration files}{105}
\contentsline {section}{\numberline {11.5}Subscribers file}{107}
\contentsline {section}{\numberline {11.6}Info file}{107}
\contentsline {section}{\numberline {11.7}Homepage file}{107}
\contentsline {section}{\numberline {11.8}List template files}{108}
\contentsline {subsection}{\numberline {11.8.1}welcome.tpl}{109}
\contentsline {subsection}{\numberline {11.8.2}bye.tpl}{109}
\contentsline {subsection}{\numberline {11.8.3}removed.tpl}{109}
\contentsline {subsection}{\numberline {11.8.4}reject.tpl}{109}
\contentsline {subsection}{\numberline {11.8.5}invite.tpl}{110}
\contentsline {subsection}{\numberline {11.8.6}remind.tpl}{110}
\contentsline {subsection}{\numberline {11.8.7}summary.tpl}{110}
\contentsline {section}{\numberline {11.9}Stats file}{110}
\contentsline {section}{\numberline {11.10}List model files}{110}
\contentsline {subsection}{\numberline {11.10.1}remind.annual.task}{111}
\contentsline {subsection}{\numberline {11.10.2}expire.annual.task}{111}
\contentsline {section}{\numberline {11.11}Message header and footer}{111}
\contentsline {subsection}{\numberline {11.11.1}Archive directory}{111}
\contentsline {chapter}{\numberline {12}Creating and editing mailing using the web}{113}
\contentsline {section}{\numberline {12.1}List creation}{113}
\contentsline {subsection}{\numberline {12.1.1}Who can create lists}{114}
\contentsline {subsection}{\numberline {12.1.2}typical list profile}{114}
\contentsline {subsection}{\numberline {12.1.3}creating list alias}{115}
\contentsline {section}{\numberline {12.2}List edition}{115}
\contentsline {chapter}{\numberline {13}List configuration parameters}{117}
\contentsline {section}{\numberline {13.1}List description}{117}
\contentsline {subsection}{\numberline {13.1.1}editor}{117}
\contentsline {subsection}{\numberline {13.1.2}host}{118}
\contentsline {subsection}{\numberline {13.1.3}lang}{118}
\contentsline {subsection}{\numberline {13.1.4}owner}{118}
\contentsline {subsection}{\numberline {13.1.5}subject}{119}
\contentsline {subsection}{\numberline {13.1.6}topics}{120}
\contentsline {subsection}{\numberline {13.1.7}visibility }{120}
\contentsline {section}{\numberline {13.2}Data source related}{120}
\contentsline {subsection}{\numberline {13.2.1}user\_data\_source}{120}
\contentsline {subsection}{\numberline {13.2.2}ttl}{121}
\contentsline {subsection}{\numberline {13.2.3}include\_list}{121}
\contentsline {subsection}{\numberline {13.2.4}include\_sql\_query}{122}
\contentsline {subsection}{\numberline {13.2.5}include\_ldap\_query}{123}
\contentsline {subsection}{\numberline {13.2.6}include\_ldap\_2level\_query}{124}
\contentsline {subsection}{\numberline {13.2.7}include\_file}{127}
\contentsline {section}{\numberline {13.3}Command related}{127}
\contentsline {subsection}{\numberline {13.3.1}subscribe}{127}
\contentsline {subsection}{\numberline {13.3.2}unsubscribe}{128}
\contentsline {subsection}{\numberline {13.3.3}add}{129}
\contentsline {subsection}{\numberline {13.3.4}del}{129}
\contentsline {subsection}{\numberline {13.3.5}remind}{129}
\contentsline {subsection}{\numberline {13.3.6}remind\_task}{130}
\contentsline {subsection}{\numberline {13.3.7}expire\_task}{130}
\contentsline {subsection}{\numberline {13.3.8}send}{130}
\contentsline {subsection}{\numberline {13.3.9}review}{132}
\contentsline {subsection}{\numberline {13.3.10}shared\_doc}{132}
\contentsline {subsubsection}{Read access}{133}
\contentsline {subsubsection}{Edit access}{133}
\contentsline {section}{\numberline {13.4}List tuning}{134}
\contentsline {subsection}{\numberline {13.4.1}reply\_to\_header}{134}
\contentsline {subsection}{\numberline {13.4.2}max\_size}{134}
\contentsline {subsection}{\numberline {13.4.3}anonymous\_sender}{134}
\contentsline {subsection}{\numberline {13.4.4}custom\_header}{135}
\contentsline {subsection}{\numberline {13.4.5}custom\_subject}{135}
\contentsline {subsection}{\numberline {13.4.6}footer\_type}{135}
\contentsline {subsection}{\numberline {13.4.7}digest}{136}
\contentsline {subsection}{\numberline {13.4.8}available\_user\_options}{136}
\contentsline {subsection}{\numberline {13.4.9}default\_user\_options}{137}
\contentsline {subsection}{\numberline {13.4.10}cookie}{137}
\contentsline {subsection}{\numberline {13.4.11}priority}{137}
\contentsline {section}{\numberline {13.5}Bounce related}{138}
\contentsline {subsection}{\numberline {13.5.1}bounce}{138}
\contentsline {subsection}{\numberline {13.5.2}welcome\_return\_path}{139}
\contentsline {subsection}{\numberline {13.5.3}remind\_return\_path}{139}
\contentsline {section}{\numberline {13.6}Archive related}{139}
\contentsline {subsection}{\numberline {13.6.1}archive}{139}
\contentsline {subsection}{\numberline {13.6.2}web\_archive}{140}
\contentsline {chapter}{\numberline {14}Shared documents}{141}
\contentsline {section}{\numberline {14.1}The three kind of operations on a document}{142}
\contentsline {section}{\numberline {14.2}The description file}{143}
\contentsline {subsection}{\numberline {14.2.1}Structure of description files}{143}
\contentsline {section}{\numberline {14.3}The predefined scenarii}{144}
\contentsline {subsection}{\numberline {14.3.1}The public scenario}{144}
\contentsline {subsection}{\numberline {14.3.2}The private scenario}{144}
\contentsline {subsection}{\numberline {14.3.3}The scenario owner}{144}
\contentsline {section}{\numberline {14.4}Access control}{144}
\contentsline {subsection}{\numberline {14.4.1}Listmaster and privileged owners}{144}
\contentsline {subsection}{\numberline {14.4.2}Special case of the \texttt {shared} directory}{145}
\contentsline {subsection}{\numberline {14.4.3}General case}{145}
\contentsline {section}{\numberline {14.5}Shared document actions}{146}
\contentsline {section}{\numberline {14.6}Template files}{147}
\contentsline {subsection}{\numberline {14.6.1}d\_read.tpl}{147}
\contentsline {subsection}{\numberline {14.6.2}d\_editfile.tpl}{147}
\contentsline {subsection}{\numberline {14.6.3}d\_control.tpl}{148}
\contentsline {chapter}{\numberline {15}Bounce management}{149}
\contentsline {chapter}{\numberline {16}Antivirus}{151}
\contentsline {chapter}{\numberline {17}Using \textit {Sympa}\xspace commands}{153}
\contentsline {section}{\numberline {17.1}User commands}{153}
\contentsline {section}{\numberline {17.2}Owner commands}{157}
\contentsline {section}{\numberline {17.3}Moderator commands}{158}
