SYMPA_CONFIG(5)
SYMPA_CONFIG(5) โ sympa 6.2.80 ๐
okay bestie, this is the manual page for sympa_config, the config files of the Sympa mailing list manager. Itโs giving โthree layers of config realnessโ and weโre gonna go through every last bit. No cap. ๐ซถ
โจ NAME โจ
sympa_config โ Configuration files for Sympa mailing list manager
๐ DESCRIPTION ๐
There are three levels in Sympaโs main configuration: site global, mail domain and list. Three layers, like a cute little config parfait. ๐
๐๏ธ sympa.conf: Configuration file for global settings ๐๏ธ
/etc/sympa/sympa.conf is main configuration file of Sympa. Several parameters defined in this file may be overridden by robot.conf configuration file for each virtual domain, or by config configuration file for each mailing list.
Format of sympa.conf and robot.conf is as following:
- Lines beginning with
#and containing only spaces are ignored. - Each line has the form "parameter value". value may contain spaces but may not contain newlines.
There are simple parameters and compound parameters.
The name of compound parameter consist of a paragraph name and a sub-parameter name separated by period ("."). However some compound parameters have simple synonym names to keep compatibility to earlier versions (See "Obsoleted sympa.conf parameters").
Example:
process_archive on
archive.web_access open
archive.mail_access closed
๐ค robot.conf: Optional configuration file for the mail domain ๐ค
robot.conf is the optional configuration file for each mail domain.
Format of robot.conf is the same as sympa.conf above.
๐ config: Configuration file for the mailing list ๐
config is main configuration file of each mailing list.
Format of config is as following:
- Lines beginning with
#and containing only spaces are ignored. - There are simple parameters and compound parameters:
- A simple parameter is expressed by single line by each. The line has the form "parameter value". value may contain spaces but may not contain newlines.
Several parameters may have multiple values. If itโs the case, values may be separated by comma (",") or parameter lines may be repeated. Some of parameters must have one or more of limited values.
Example:
subject This is subject of my list
remove_headers User-Agent,Importance
custom_headers X-List: mylist
custom_headers X-Face: %`-W7!?^]Sg'I-K>P<cdn&k:~A^{x>(]Gc{V...
rfc2369_header_fields post,owner
- A compound parameter is expressed by multiple lines, so-called "paragraph", that consists of the first line specifying paragraph name and subsequent one or more sub-parameter lines. Paragraph must be separated by one or more empty lines from the other parameters.
Several multiple line parameters may occur multiple times.
Example:
archive
web_access open
mail_access closed
๐ PARAMETERS ๐
Below is entire list of configuration parameters.
- Sub-parameters in paragraph are listed as paragraph"."sub-parameter by each.
- "Default" is built-in default value if any. About symbols for paths, such as
$SENDMAIL_ALIASES, see "Directory layouthttps://www.sympa.community/manual/layout.html".
๐ธ Service description ๐ธ
๐ domain ๐
Primary mail domain name
Format:
/$domain/
Default: None, mandatory. Yes bestie, you HAVE to set this one. ๐
Context: domain (robot.conf), site (sympa.conf)
Example:
domain mail.example.org
๐ listmaster ๐
Email addresses of listmasters
Format: Multiple values allowed, separated by ",".
/$email/
Default: None, mandatory.
Context: domain (robot.conf), site (sympa.conf)
Email addresses of the listmasters (users authorized to perform global server commands). Some error reports may also be sent to these addresses. Listmasters can be defined for each virtual host, however, the default listmasters will have privileges to manage all virtual hosts.
Example:
listmaster your_email_address@domain.tld
๐ supported_lang ๐
Supported languages
Format:
/"\w+(\-\w+)*"/
Default:
"ca,cs,de,el,en-US,es,et,eu,fi,fr,gl,hu,it,ja,ko,nb,nl,oc,pl,pt-BR,ru,sv,tr,vi,zh-CN,zh-TW"
Context: domain (robot.conf), site (sympa.conf)
All supported languages for the user interface. Languages proper locale information not installed are ignored. No biggie. โจ
๐ title ๐
Title of service
Format:
/".+"/
Default:
"Mailing lists service"
Context: domain (robot.conf), site (sympa.conf)
The name of your mailing list service. It will appear in the header of web interface and subjects of several service messages. Itโs giving main character energy. ๐
๐ gecos ๐
Display name of Sympa
Format:
/".+"/
Default:
"SYMPA"
Context: domain (robot.conf), site (sympa.conf)
Available versions:
6.2a.34 and later.
This parameter is used for display name in the "From:" header field for the messages sent by Sympa itself. iconic. ๐
๐ legacy_character_support_feature ๐
Support of legacy character set
Format:
"on" - enabled
"off" - disabled
Default:
"off"
Context: site (sympa.conf)
If set to "on", enables support of legacy character set according to charset.conf(5) configuration file.
In some language environments, legacy encoding (character set) can be preferred for e-mail messages: for example iso-2022-jp in Japanese language. iykyk. ๐ธ
๐๏ธ Database related ๐๏ธ
๐ update_db_field_types ๐
Update database structure
Format:
"auto" - automatic
"off" - disabled
Default:
"auto"
Context: site (sympa.conf)
auto: Updates database table structures automatically.
However, since version 5.3b.5, Sympa will not shorten field size if it already have been longer than the size defined in database definition. periodt.
๐ db_type ๐
Type of the database
Format:
/"\w+"/
Default:
"mysql"
Context: site (sympa.conf)
Possible types are "MySQL", "PostgreSQL", "Oracle" and "SQLite".
๐ db_name ๐
Name of the database
Format:
/".+"/
Default:
"sympa"
Context: site (sympa.conf)
With SQLite, this must be the full path to database file.
With Oracle Database, this must be SID, net service name or easy connection identifier (to use net service name, db_host should be set to "none" and HOST, PORT and SERVICE_NAME should be defined in tnsnames.ora file).
๐ db_host ๐
Hostname of the database server
Format:
/$host/
Default: None.
Context: site (sympa.conf)
With PostgreSQL, you can also use the path to Unix Socket Directory, e.g. "/var/run/postgresql" for connection with Unix domain socket.
Example:
db_host localhost
๐ db_port ๐
Port of the database server
Format:
/"[-/\w]+"/
Default: None.
Context: site (sympa.conf)
๐ db_user ๐
User for the database connection
Format:
/".+"/
Default: None.
Context: site (sympa.conf)
Example:
db_user sympa
๐ db_passwd ๐
Password for the database connection
Format: The value to be concealed.
Default: None.
Context: site (sympa.conf)
What ever you use a password or not, you must protect the SQL server (is it not a public internet service ?) โ like, protect it bestie, no cap. ๐ฅ
Example:
db_passwd your_passwd
๐ db_options ๐
Database options
Format:
/".+"/
Default: None.
Context: site (sympa.conf)
If these options are defined, they will be appended to data source name (DSN) fed to database driver. Check the related DBD documentation to learn about the available options.
Example:
db_options mysql_read_default_file=/home/joe/my.cnf;mysql_socket=tmp/mysql.sock-test
๐ db_env ๐
Environment variables setting for database
Format:
/".+"/
Default: None.
Context: site (sympa.conf)
With Oracle Database, this is useful for defining ORACLE_HOME and NLS_LANG.
Example:
db_env NLS_LANG=American_America.AL32UTF8;ORACLE_HOME=/u01/app/oracle/product/11.2.0/server
๐ db_timeout ๐
Database processing timeout
Format:
/"\d+"/
Default: None.
Context: site (sympa.conf)
Currently, this parameter may be used for SQLite only.
๐ db_additional_subscriber_fields ๐
Database private extension to subscriber table
Format: Multiple values allowed, separated by ",".
/".+"/
Default: None.
Context: site (sympa.conf)
Adds more fields to "subscriber_table" table. Sympa recognizes fields defined with this parameter. You will then be able to use them from within templates and scenarios:
- for scenarios:
[subscriber->field] - for templates:
[% subscriber.field %]
These fields will also appear in the list members review page and will be editable by the list owner. This parameter is a comma-separated list.
You need to extend the database format with these fields
Example:
db_additional_subscriber_fields billing_delay,subscription_expiration
๐ db_additional_user_fields ๐
Database private extension to user table
Format: Multiple values allowed, separated by ",".
/".+"/
Default: None.
Context: site (sympa.conf)
Adds more fields to "user_table" table. Sympa recognizes fields defined with this parameter. You will then be able to use them from within templates: [% subscriber.field %]
This parameter is a comma-separated list.
You need to extend the database format with these fields
Example:
db_additional_user_fields age,address
๐ System log ๐
๐ syslog ๐
System log facility for Sympa
Format:
/"\S+"/
Default:
"LOCAL1"
Context: site (sympa.conf)
Do not forget to configure syslog server. seriously. ๐ซถ
๐ syslog_socket ๐
(Paragraph) System log socket options
Single occurrence
The options to be used for system log socket. Options come from Sys::Syslog https://metacpan.org/pod/Sys::Syslog#setlogsock%28%29
๐ syslog_socket.type ๐
Communication mode with syslog server
Format: Multiple values allowed, separated by ",".
"native" - native
"tcp" - tcp
"udp" - udp
"inet" - inet
"unix" - unix
"stream" - stream
"pipe" - pipe
"console" - console
Default: None.
Context: site (sympa.conf)
ngl, in most cases Sympa just picks a perfectly good default for you automatically, like the considerate queen she is. โจ
๐ฆ syslog_socket.path โ Stream location
Format: /".+"/
Default: None.
Context: site (sympa.conf)
If you leave it alone, it defaults to the standard location on the system. No thoughts, just vibes. ๐
๐ฆ syslog_socket.timeout โ Socket timeout
Format: Number of seconds.
Default: None.
Context: site (sympa.conf)
๐ฆ syslog_socket.host โ Host name to send the messages to
Format: /$host/
Default: None.
Context: site (sympa.conf)
Defaults to the local host, iykyk. ๐
๐ฆ syslog_socket.port โ TCP or UDP port to connect to
Format: /"\d+"/
Default: None.
Context: site (sympa.conf)
Defaults to the standard port on the system.
๐ธ log_level โ Log verbosity
Format: /"\d+"/
Default: 0
Context: domain (robot.conf), site (sympa.conf)
This one sets how chatty your logs are, bestie.
0: Only main operations are logged3: Almost everything is logged.
Example:
log_level 2
โ๏ธ Mail server โ๏ธ
๐ฎ sendmail โ Path to sendmail
Format: /".+"/
Default: /usr/sbin/sendmail
Context: site (sympa.conf)
Absolute path to the sendmail command line utility, like, for example a binary literally named sendmail that ships with Postfix.
Sympa expects this binary to be sendmail compatible โ exim, Postfix, qmail and so on all provide one, so you're covered. ๐ซถ
๐ฎ sendmail_args โ Command line parameters passed to sendmail
Format: /".+"/
Default: -oi -odi -oem
Context: site (sympa.conf)
Heads up, bestie: do not put the -f, -N and -V options in here, and don't add recipient addresses either, because Sympa adds all of those itself. Not you doing it. Her. ๐
๐ฎ sendmail_aliases โ Path of the file that contains all list related aliases
Format: /".+"/
Default: $SENDMAIL_ALIASES
Context: domain (robot.conf), site (sympa.conf)
Highly recommended: make a dedicated alias file, so Sympa never steamrolls your standard alias file and only ever touches her own little file. So respectful.
Set this parameter to none if you want to disable alias management in Sympa entirely. ๐ซ
๐ฎ aliases_program โ Program used to update alias database
Format: /"makemap|newaliases|postalias|postmap|/.+|none"/
Default: newaliases
Context: domain (robot.conf), site (sympa.conf)
This can be makemap, newaliases, postalias, postmap or the full path to a custom program of your very own. Main character energy. ๐
๐ฎ aliases_wrapper โ Whether to use the alias wrapper
Format:
off- disabledon- enabled
Default: on
Context: domain (robot.conf), site (sympa.conf)
Available versions: 6.2.59b.1 and later. ๐
If the program that updates your alias database doesn't need root privileges, set this parameter to off and delete the wrapper file sympa_newaliases-wrapper.
๐ฎ aliases_db_type โ Type of alias database
Format: /"\w[-\w]*"/
Default: hash
Context: domain (robot.conf), site (sympa.conf)
btree, dbm, hash and so on โ whatever your heart desires. Available when aliases_program is makemap, postalias or postmap. ๐
๐ฎ alias_manager โ Path to alias manager
Format: /".+"/
Default: $SBINDIR/alias_manager.pl
Context: site (sympa.conf)
The absolute path to the script that will add and remove mail aliases for you.
Example:
alias_manager /usr/local/libexec/ldap_alias_manager.pl
๐ List definition ๐
๐ subject โ Subject of the list
Format: /".+"/
Default: None, mandatory. (yes bestie, required, no skipping ๐)
Context: list (config)
This parameter is the subject of the list, and it's what gets sent back when someone uses the LISTS mail command. It's free form text, but it's gotta stay on one line. One line only, okay?
๐ visibility โ Visibility of the list
Format: Name of visibility scenario:
conceal- conceal except for subscribersnoconceal- no concealsecret- conceal even for subscribers
Default: conceal
Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter decides whether the list shows up in the output of a LISTS command, or whether it appears in the list overview of the web interface. Choose your fighter. ๐
๐ topics โ Topics for the list
Format: Multiple values allowed, separated by ",". List topic.
Default: None.
Context: list (config)
This parameter lets you classify lists โ and yes, you can define multiple topics, even hierarchical ones, because she contains multitudes. WWSympa's list of public lists uses this parameter. ๐ฅ
๐ lang โ Language of the list
Format: Language tag.
Default: en-US
Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter defines the language used for the list. It's used to initialize a user's language preference, and Sympa's command reports get pulled from the associated message catalog. โจ
๐ family_name โ Family name
Format: /$family_name/
Default: None.
Context: list (config)
๐ max_list_members โ Maximum number of list members
Format: Number of list members.
Default: 0 (list members)
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2a.5 and later. ๐ฆ
This is the limit for the number of subscribers. 0 means no limit โ go off, recruit the whole internet. ๐ญ
๐ priority โ Priority
Format:
0 - 0 - highest priority
1 - 1
2 - 2
3 - 3
4 - 4
5 - 5
6 - 6
7 - 7
8 - 8
9 - 9 - lowest priority
"z" - queue messages only
Default: 5
Context: list (config), domain (robot.conf), site (sympa.conf)
The priority with which Sympa will process messages for this list. This level of priority applies while the message is making its way through the spool. And the z priority? That one freezes the message in the spool โ it just sits there, no thoughts, head empty. ๐ง
๐ฅ Receiving ๐ฅ
๐ sender_headers โ Header field name(s) used to determine sender of the messages
Format: Any.
Default: From
Context: site (sympa.conf)
Return-Path means the envelope sender (a.k.a. UNIX From), which will be the alternative to the sender of messages that have no From field. Resent-From may also be inserted before From, because some mailers add it into redirected messages and keep the original From field intact. In particular cases, Return-Path can't give the right sender: several mail gateway products rewrite the envelope sender and add the original one as a non-standard field such as X-Envelope-From. If that's the situation you're in, you might want to insert it in place of Return-Path.
Example:
sender_headers Resent-From,From,Return-Path
๐ misaddressed_commands โ Reject misaddressed commands
Format: Any.
Default: reject
Context: site (sympa.conf)
When a mail command gets sent to a list, Sympa rejects that message by default. You can turn this feature off by setting this parameter to ignore. ๐
๐ misaddressed_commands_regexp โ Regular expression matching with misaddressed commands
Format: Any.
Default: ((subscribe\s+(\S+)|unsubscribe\s+(\S+)|signoff\s+(\S+)|set\s+(\S+)\s+(mail|nomail|digest))\s*)
Context: site (sympa.conf)
A Perl regular expression applied on the message subject and body to detect misaddressed commands. Fr fr, this is the detective. ๐ต๏ธ
๐ sympa_priority โ Priority for command messages
Format:
0 - 0 - highest priority
1 - 1
2 - 2
3 - 3
4 - 4
5 - 5
6 - 6
7 - 7
8 - 8
9 - 9 - lowest priority
"z" - queue messages only
Default: 1
Context: domain (robot.conf), site (sympa.conf)
Priority applied to messages sent to the Sympa command address.
๐ request_priority โ Priority for messages bound for list owners
Format:
0 - 0 - highest priority
1 - 1
2 - 2
3 - 3
4 - 4
5 - 5
6 - 6
7 - 7
8 - 8
9 - 9 - lowest priority
"z" - queue messages only
Default: 0
Context: domain (robot.conf), site (sympa.conf)
Priority for processing of messages bound for the LIST-request address, i.e. the owners of the list.
๐ owner_priority โ Priority for non-VERP bounces
Format:
0 - 0 - highest priority
1 - 1
2 - 2
3 - 3
4 - 4
5 - 5
6 - 6
7 - 7
8 - 8
9 - 9 - lowest priority
"z" - queue messages only
Default: 9
Context: domain (robot.conf), site (sympa.conf)
Priority for processing of messages bound for the LIST-owner address, i.e. non-delivery reports (bounces).
๐ incoming_max_count โ Max number of sympa_msg.pl workers
Format: /"\d+"/
Default: 1
Context: site (sympa.conf)
Available versions: 6.2b.5 and later. โญ
Max number of workers of the sympa_msg.pl daemon processing the incoming spool.
๐ sleep โ Interval between scanning incoming message spool
Format: Number of seconds.
Default: 5 (seconds)
Context: site (sympa.conf)
Must not be 0. Like, literally don't.
๐ค Sending/receiving setup ๐ฅ
๐ send โ Who can send messages
Format: Name of send scenario:
The scenario options for this one are coming right up in the next bit, bestie โ we're not done yet ๐
โฆand the rest of the menu, bestie, no skips:
"closed"โ closed"confidential"โ restricted to subscribers, messages from others are discarded"editorkey"โ Moderated"editorkeyonly"โ Moderated, even for moderators"editorkeyonlyauth"โ Moderated, need authentication from moderator"newsletter"โ Newsletter, restricted to moderators"newsletterkeyonly"โ Newsletter, restricted to moderators after confirmation"owner"โ Restricted to list owners only"ownerauth"โ Restricted to list owners with previous MD5 authentication"private"โ restricted to subscribers"private_smime"โ restricted to subscribers and checked smime signature"privateandeditorkey"โ Moderated, restricted to subscribers"privateandnomultipartoreditorkey"โ Moderated, for non subscribers sending multipart messages"privatekey"โ restricted to subscribers with previous md5 authentication"privatekeyandeditorkeyonly"โ Moderated, for subscribers and even moderators themself"privateoreditorkey"โ Private, moderated for non subscribers"privateorpublickey"โ Private, confirmation for non subscribers"public"โ public list"public_nobcc"โ public list, Bcc rejected (anti-spam)"publickey"โ need authentication"publicnoattachment"โ public list multipart/mixed messages are forwarded to moderator"publicnomultipart"โ public list multipart messages are rejected- Default:
"private" - Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter specifies who can send messages to the list. That's it, that's the whole job ๐
"delivery_time"
Delivery time (hh:mm)
- Format:
/"[0-2]?\d\:[0-6]\d"/ - Default: None.
- Context: list (config)
If this parameter is present, non-digest messages will be delivered to subscribers at this time: When this time has been past, delivery is postponed to the same time in next day. โฐ
"digest"
(Paragraph) Digest frequency
Single occurrence
Definition of digest mode. If this parameter is present, subscribers can select the option of receiving messages in multipart/digest MIME format, or as a plain text digest. Messages are then grouped together, and compiled messages are sent to subscribers according to the frequency selected with this parameter. ๐๏ธ
"digest.days"
days
- Format:
- Multiple occurrences allowed.
- Day of week, 0 - 6.
- Default: None, mandatory.
- Context: list (config)
"digest.hour"
hour
- Format:
/"[01]?[0-9]|2[0-3]"/ - Default: None, mandatory.
- Context: list (config)
"digest.minute"
minute
- Format:
/"[0-5]?[0-9]"/ - Default: None, mandatory.
- Context: list (config)
"digest_max_size"
Digest maximum number of messages
- Format: Number of messages.
- Default: 25 (messages)
- Context: list (config)
"available_user_options"
(Paragraph) Available subscription options
Single occurrence
"available_user_options.reception"
reception mode
- Format:
- Multiple values allowed, separated by
",". - Reception mode of list member.
- Multiple values allowed, separated by
- Default:
"mail,notice,digest,digestplain,summary,nomail,txt,urlize,not_me" - Context: list (config)
Only these modes will be allowed for the subscribers of this list. If a subscriber has a reception mode not in the list, Sympa uses the mode specified in the default_user_options paragraph. ๐
"default_user_options"
(Paragraph) Subscription profile
Single occurrence
Default profile for the subscribers of the list.
"default_user_options.reception"
reception mode
- Format: Reception mode of list member.
- Default:
"mail" - Context: list (config)
Mail reception mode. โ๏ธ
"default_user_options.visibility"
visibility
- Format: Visibility mode of list member.
- Default:
"noconceal" - Context: list (config)
Visibility of the subscriber. ๐ซฃ
"msg_topic"
(Paragraph) Topics for message categorization
Multiple occurrences allowed
This paragraph defines a topic used to tag a message of a list, named by msg_topic.name ("other" is a reserved word), its title is msg_topic.title. The msg_topic.keywords entry is optional and allows automatic tagging. This should be a list of keywords, separated by ','. ๐ท๏ธ
"msg_topic.name"
Message topic name
- Format:
/"[^โ nah, for real:/"[^โฆ okay okay, it's/"[^no. It is: - Format:
/"[\-\w]+"/ - Default: None, mandatory.
- Context: list (config)
"msg_topic.keywords"
Message topic keywords
- Format:
/"[^,\n]+(,[^,\n]+)*"/ - Default: None.
- Context: list (config)
"msg_topic.title"
Message topic title
- Format:
/".+"/ - Default: None, mandatory.
- Context: list (config)
"msg_topic_keywords_apply_on"
Defines to which part of messages topic keywords are applied
- Format:
"subject"โ subject field"body"โ message body"subject_and_body"โ subject and body
- Default:
"subject" - Context: list (config)
This parameter indicates which part of the message is used to perform automatic tagging. ๐
"msg_topic_tagging"
Message tagging
- Format:
"required_sender"โ required to post message"required_moderator"โ required to distribute message"optional"โ optional
- Default:
"optional" - Context: list (config)
This parameter indicates if the tagging is optional or required for a list.
"reply_to_header"
(Paragraph) Reply address
Single occurrence
This defines what Sympa will place in the Reply-To: SMTP header field of the messages it distributes.
"reply_to_header.value"
value
- Format:
"sender"โ sender"list"โ list"all"โ all"other_email"โ other email address
- Default:
"sender" - Context: list (config)
This parameter indicates whether the Reply-To: field should indicate the sender of the message (sender), the list itself (list), both list and sender (all) or an arbitrary e-mail address (defined by the other_email parameter).
โ ๏ธ Note: it is inadvisable to change this parameter, and particularly inadvisable to set it to list. Experience has shown it to be almost inevitable that users, mistakenly believing that they are replying only to the sender, will send private messages to a list. This can lead, at the very least, to embarrassment, and sometimes to more serious consequences. ๐ญ Do not do this, bestie, I am begging.
"reply_to_header.other_email"
other email address
- Format:
/$email/ - Default: None.
- Context: list (config)
If value was set to other_email, this parameter defines the e-mail address used.
"reply_to_header.apply"
respect of existing header field
- Format:
"forced"โ overwriteReply-To:header field"respect"โ preserve existing header field
- Default:
"respect" - Context: list (config)
The default is to respect (preserve) the existing Reply-To: SMTP header field in incoming messages. If set to forced, Reply-To: SMTP header field will be overwritten.
"anonymous_sender"
Anonymous sender
- Format:
/".+"/ - Default: None.
- Context: list (config)
To hide the sender's email address before distributing the message. It is replaced by the provided email address. ๐ต๏ธโโ๏ธ
"anonymous_header_fields"
Header fields removed when a mailing list is setup in anonymous mode
- Format: Any.
- Default:
"ARC-Authentication-Results,ARC-Message-Signature,ARC-Seal,Authentication-Results,Disposition-Notification-To,DKIM-Signature,Domainkey-Signature,Fax,Injection-Info,Mailer,Organisation,Organization,Original-Recipient,Originating-Client,Originator,Path,Phone,Received,Received-SPF,Reply-To,Resent-Reply-To,Return-Receipt-To,Telefax,User-Agent,X-Envelope-From,X-Envelope-To,X-Face,X-Mailer,X-MimeOLE,X-Newsreader,X-Sender,X-X-Sender" - Context: site (sympa.conf)
"custom_header"
Custom header field
- Format:
- Multiple occurrences allowed.
/"$header_field_name:.+"/
- Default: None.
- Context: list (config)
This parameter is optional. The headers specified will be added to the headers of messages distributed via the list. As of release 1.2.2 of Sympa, it is possible to put several custom header lines in the configuration file at the same time. โจ
"custom_subject"
Subject tagging
- Format:
/".+"/ - Default: None.
- Context: list (config)
This parameter is optional. It specifies a string which is added to the subject of distributed messages (intended to help users who do not use automatic tools to sort incoming messages). This string will be surrounded by [] characters. ๐ท๏ธ
"footer_type"
Attachment type
- Format:
"mime"โ add a new MIME part"append"โ append to message body
- Default:
"mime" - Context: list (config)
List owners may decide to add message headers or footers to messages sent via the list. This parameter defines the way a footer/header is added to a message.
mime:
The default value. Sympa will add the footer/header as a new MIME part.
append:
Sympa will not create new MIME parts, but will try to append the header/footer to the body of the message. Predefined message-footers will be ignored.
"max_size"
Maximum message size
- Format: Number of bytes.
- Default: 5242880 (bytes)
- Context: list (config), domain (robot.conf), host
Maximum size of a message in 8-bit bytes.
Example:
max_size 2097152
"personalization_feature"
Allow message personalization
- Format:
"on"โ enabled"off"โ disabled
- Default:
"off" - Context: list (config), domain (robot.conf), site (sympa.conf)
- Available versions: 6.2.59b.2 and later. ๐
"personalization"
(Paragraph) Message personalization
Single occurrence
"personalization.web_apply_on"
Scope for messages from the web interface
- Format:
"none"โ do nothing"footer"โ header and footer"all"โ all
- Default:
"footer" - Context: list (config), domain (robot.conf), site (sympa.conf)
"personalization.mail_apply_on"
Scope for messages from incoming email
Format:
"none"โ do literally nothing, ghost mode ๐ป"footer"โ header and footer"all"โ all of it, no crumbs left ๐ช
Default: "none"
Context: list (config), domain (robot.conf), site (sympa.conf)
"message_hook" โ (Paragraph) Hook modules for message processing โจ
Single occurrence โ one and done, bestie, don't try to stack these.
"message_hook.pre_distribute"โ a hook that runs on the messages before distribution- Format:
/"(::|\w)+"/ - Default: None.
- Context: list (config)
- Format:
"message_hook.post_archive"โ a hook on the messages just after archiving- Format:
/"(::|\w)+"/ - Default: None.
- Context: list (config)
- Format:
"reject_mail_from_automates_feature" โ reject mail from automatic processes (crontab, etc)? ๐ค๐ซ
Format:
"on"โ enabled"off"โ disabled
Default: "on"
Context: list (config), site (sympa.conf)
Available versions: 6.2a.0 and later.
So basically this one rejects messages that look like they came from automated services, and it decides that based on a few header fields ("Content-Identifier:", "Auto-Submitted:"). Also โ plot twist โ Sympa can also be configured to reject messages based on the "From:" header field value (see "loop_prevention_regex"). iykyk ๐
"remove_headers" โ header fields to be removed from incoming messages ๐งน
Format: Multiple values allowed, separated by ",".
/"\S+"/
Default: "X-Sympa-To,X-Family-To,Return-Receipt-To,Precedence,X-Sequence,Disposition-Notification-To,Sender"
Context: list (config), site (sympa.conf)
Use it, for example, to make sure your users get some privacy in case that "anonymous_sender" mode is just not the vibe.
The removal of these header fields happens before Sympa adds its own header fields ("rfc2369_header_fields" and "custom_header"). Order matters, bestie.
Example:
remove_headers Resent-Date,Resent-From,Resent-To,Resent-Message-Id,Sender,Delivered-To
"remove_outgoing_headers" โ header fields to be removed before message distribution ๐งผ
Format: Multiple values allowed, separated by ",".
/"$header_field_name(:.+)?"/
Default: "none"
Context: list (config), site (sympa.conf)
The removal happens after Sympa's own header fields are added; so it's a super convenient way to remove Sympa's own header fields (like "X-Loop:" or "X-no-archive:") if that's what you want. Obsessed with the flexibility tbh ๐ซถ
Example:
remove_outgoing_headers X-no-archive
"rfc2369_header_fields" โ RFC 2369 header fields ๐ฎ
Format: Multiple values allowed, separated by ",".
"help"โ help"subscribe"โ subscription"unsubscribe"โ unsubscription"post"โ posting address"owner"โ owner"archive"โ list archive
Default: "help,subscribe,unsubscribe,post,owner,archive"
Context: list (config), site (sympa.conf)
Specify which RFC 2369 mailing list header fields should be added. Slay.
And heads up: the "List-Id:" header field defined in RFC 2919 is always added. Sympa also adds the "Archived-At:" header field defined in RFC 5064. No opting out of those two, periodt.
๐ Distribution ๐
"urlize_min_size" โ minimum size to be urlized ๐
Format: Number of bytes.
Default: 10240 (bytes)
Context: domain (robot.conf), site (sympa.conf)
When a subscriber chose "urlize" reception mode, attachments that are not smaller than this size get urlized. Big file? Not in my inbox, bestie โจ
"allowed_external_origin" โ allowed external links in sanitized HTML ๐
Format: /"(?:[^\@]+\@)?[-\w*]+(?:[.][-\w*]+)*(?:[:][\d*]+)?"/
Default: None.
Context: domain (robot.conf), site (sympa.conf)
Available versions: 6.2.19b.2 and later.
When the HTML content of a message absolutely must be sanitized, links ("href" or "src" attributes) whose hosts are listed in this parameter will not be scrubbed. If the "*" character is included, it matches any subdomains. A single "*" allows any hosts. Wild, truly ๐
Example:
allowed_external_origin *.example.org,www.example.com
"sympa_packet_priority" โ default priority for a packet ๐๏ธ
Format:
0โ 0 - highest priority1โ 12โ 23โ 34โ 45โ 56โ 67โ 78โ 89โ 9 - lowest priority"z"โ queue messages only
Default: 5
Context: domain (robot.conf), site (sympa.conf)
This is the default priority set on a packet that's about to be sent by the bulk. Main character packets only, obviously ๐
"bulk_fork_threshold" โ fork threshold of bulk daemon ๐ด
Format: /"\d+"/
Default: 1
Context: site (sympa.conf)
The minimum number of packets before the bulk daemon forks a new worker to increase sending rate. It's giving "I need backup" energy.
"bulk_max_count" โ maximum number of bulk workers ๐งโ๐คโ๐ง
Format: /"\d+"/
Default: 3
Context: site (sympa.conf)
"bulk_lazytime" โ idle timeout of bulk workers ๐ด
Format: Number of seconds.
Default: 600 (seconds)
Context: site (sympa.conf)
The number of seconds a bulk worker will keep running without processing a message before it spontaneously exits. Respect the nap schedule.
"bulk_sleep" โ sleep time of bulk workers ๐ค
Format: Number of seconds.
Default: 1 (seconds)
Context: site (sympa.conf)
The number of seconds a bulk worker sleeps between starting a new loop if it didn't find a message to send.
Keep it small if you want your server to be reactive. Tiny sleeps = fast reflexes, no cap.
"bulk_wait_to_fork" โ interval between checks of packet numbers โฑ๏ธ
Format: Number of seconds.
Default: 10 (seconds)
Context: site (sympa.conf)
Number of seconds a master bulk daemon waits between two packet number checks.
Keep it small if you're expecting brutal increases in the message sending load. Brace yourself ๐
"log_smtp" โ log invocation of sendmail ๐
Format:
"on"โ enabled"off"โ disabled
Default: "off"
Context: domain (robot.conf), site (sympa.conf)
This can be overwritten by the -m option for sympa.pl. Rude of it, but okay ๐
"maxsmtp" โ maximum number of sendmail processes ๐ฅ
Format: /"\d+"/
Default: 40
Context: site (sympa.conf)
Maximum number of simultaneous child processes spawned by Sympa. This is the main load control parameter โ the big one, the VIP.
The proposed value is quite low, but you can rise it up to 100, 200 or even 300 with powerful systems. Go off, beefy server.
Example:
maxsmtp 500
"nrcpt" โ maximum number of recipients per call to sendmail ๐ฌ
Format: /"\d+"/
Default: 25
Context: site (sympa.conf)
This grouping factor makes it possible for the sendmail processes to optimize the number of SMTP sessions for message distribution. If needed, you can limit the number of recipients for a particular domain โ check the nrcpt_by_domain.conf configuration file. Per-domain customization? Iconic.
"avg" โ maximum number of different mail domains per call to sendmail ๐
Format: /"\d+"/
Default: 10
Context: site (sympa.conf)
๐ Privileges ๐
"create_list" โ who is able to create lists ๐
Format: Name of create_list scenario:
"listmaster"โ restricted to listmaster"public_listmaster"โ anybody by validation by listmaster required
Default: "public_listmaster"
Context: domain (robot.conf), site (sympa.conf)
Defines who can create lists (or request list creation) by creating new lists, or by renaming or copying existing lists. So many ways to get a new list, so little time.
Example:
create_list listmaster
"allow_subscribe_if_pending" โ allow adding subscribers to a list not open ๐ช
Format:
"on"โ enabled"off"โ disabled
Default: "on"
Context: domain (robot.conf), site (sympa.conf)
If it's set to "off", then adding subscribers to โ or removing subscribers from โ a list whose status is anything other than "open" is forbidden. Gatekeeping, but make it config.
"global_remind" โ who is able to send remind messages over all lists ๐ฃ
Format: Name of global_remind scenario:
"listmaster"โ only for listmaster
Default: "listmaster"
Context: site (sympa.conf)
"move_user" โ who is able to change user's email ๐ง
Format: Name of move_user scenario:
"auth"โ need authentication"closed"โ impossible"listmaster"โ listmaster only
Default: "auth"
Context: domain (robot.conf), site (sympa.conf)
Available versions: 6.2.19b.1 and later.
"use_blocklist" โ use blocklist ๐ซ
Format: /"[-.\w]+"/
Default: "send,create_list"
Context: domain (robot.conf), site (sympa.conf)
Available versions: 6.2.61b.1 and later.
This is the list of operations, separated by comma, for which the blocklist filter is applied. Setting this parameter to "none" will hide the blocklist feature entirely. Poof, gone โจ
"info" โ who can view list information ๐
Format: Name of info scenario:
"conceal"โ restricted to subscribers - Silent rejection otherwise."open"โ for anyone"private"โ restricted to subscribers
Default: "open"
Context: list (config), domain (robot.conf), site (sympa.conf)
"subscribe" โ who can subscribe to the list ๐
Format: Name of subscribe scenario:
"auth"โ subscription request confirmed"auth_notify"โ need authentication (notification is sent to owners)"auth_owner"โ requires authentication then owner approval"closed"โ subscription is impossible"open"โ for anyone without authentication"open_notify"โ anyone, notification is sent to list owner"open_quiet"โ anyone, no welcome message"owner"โ owners approval"smime"โ requires S/MIME signed"smimeorowner"โ requires S/MIME signed or owner approval
Default: "open"
Context: list (config), domain (robot.conf), site (sympa.conf)
The subscribe parameter defines the rules for subscribing to the list. That's the whole thing, bestie ๐ซถ
"add" โ who can add subscribers โ
Format: Name of add scenario:
"auth"โ restricted to owner with authentication"closed"โ add impossible"owner"โ add performed by list owner does not need authentication"owner_notify"โ add performed by owner does not need authentication (notification)
Default: "owner"
Context: list (config), domain (robot.conf), site (sympa.conf)
Privilege for adding (ADD command) a subscriber to the list.
"unsubscribe" โ who can unsubscribe ๐
Format: Name of unsubscribe scenario:
"auth"โ need authentication, you gotta prove who you are ๐"auth_notify"โ authentication requested, and a notification gets sent to the owner ๐ฌ"closed"โ impossible. literally not a thing, don't even try ๐"open"โ open, free, no gatekeeping"open_notify"โ open, but with a mail confirmation, and the owner is notified"owner"โ owners' approval required ๐
Default: "open"
Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter specifies the unsubscription method for the list. Use open_notify or auth_notify to allow owner notification of each unsubscribe command.
๐
"del" โ who can delete subscribers
Format: Name of "del" scenario:
"auth"โ deletion performed only by list owners, and authentication is required"closed"โ removing a subscriber is impossible"owner"โ by owner, no authentication needed"owner_notify"โ list owners, authentication not needed (notification)
Default: "owner"
Context: list (config), domain (robot.conf), site (sympa.conf)
๐ซถ "invite" โ who can invite people
Format: Name of "invite" scenario:
"closed"โ closed"owner"โ invite performed by list owner, no authentication needed"private"โ restricted to subscribers"public"โ public
Default: "private"
Context: list (config), domain (robot.conf), site (sympa.conf)
โฐ "remind" โ who can start a remind process
Format: Name of "remind" scenario:
"listmaster"โ listmaster only"owner"โ restricted to list owners
Default: "owner"
Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter specifies who is authorized to use the remind command.
๐ "review" โ who can review subscribers
Format: Name of "review" scenario:
"closed"โ no one can review"listmaster"โ listmaster only"owner"โ only owner (and listmaster)"private"โ restricted to subscribers"public"โ anyone can do it!
Default: "owner"
Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter specifies who can access the list of members. Since subscriber addresses can be abused by spammers, it is strongly recommended that you only authorize owners or subscribers to access the subscriber list. fr fr, protect those addresses ๐ก๏ธ
๐ "owner_domain" โ required domains for list owners
Format:
/"$host( +$host)*"/
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2.23b.3 and later.
Restrict list ownership to addresses in the specified domains. This can be used to reserve list ownership to a group of trusted users from a set of domains associated with an organization, while allowing moderators and subscribers from the Internet at large.
๐ข "owner_domain_min" โ minimum owners in required domains
Format:
/"\d+"/
Default: 0
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2.23b.3 and later.
Minimum number of owners for each list must satisfy the owner_domain restriction. The default of zero (0) means all list owners must match. Setting to 1 requires only one list owner to match owner_domain; all other owners can be from any domain. This setting can be used to ensure that there is always at least one known contact point for any mailing list.
๐ "default_owner_options" โ (Paragraph) Owner profile
Single occurrence
Default profile for the owners of the list.
๐ "default_owner_options.profile" โ profile
Format:
"privileged"โ privileged owner"normal"โ normal owner
Default: "normal"
Context: list (config), domain (robot.conf), site (sympa.conf)
๐ฌ "default_owner_options.reception" โ reception mode
Format:
"mail"โ receive notification email"nomail"โ no notifications
Default: "mail"
Context: list (config), domain (robot.conf), site (sympa.conf)
Mail reception mode.
๐ป "default_owner_options.visibility" โ visibility
Format:
"conceal"โ concealed from list menu"noconceal"โ listed on the list menu
Default: "noconceal"
Context: list (config), domain (robot.conf), site (sympa.conf)
Visibility of the owner.
๐ "default_editor_options" โ (Paragraph) Moderator profile
Single occurrence
Default profile for the moderators of the list.
๐ฌ "default_editor_options.reception" โ reception mode
Format:
"mail"โ receive notification email"nomail"โ no notifications
Default: "mail"
Context: list (config), domain (robot.conf), site (sympa.conf)
Mail reception mode.
๐ป "default_editor_options.visibility" โ visibility
Format:
"conceal"โ concealed from list menu"noconceal"โ listed on the list menu
Default: "noconceal"
Context: list (config), domain (robot.conf), site (sympa.conf)
Visibility of the moderator.
๐พ Archives
๐ "ignore_x_no_archive_header_feature" โ ignore X-no-archive: header field
Format:
"on"โ enabled"off"โ disabled
Default: "off"
Context: site (sympa.conf)
Sympa's default behavior is to skip archiving of incoming messages that have an "X-no-archive:" header field set. This parameter allows one to change this behavior.
Example:
ignore_x_no_archive_header_feature on
๐ ๏ธ "custom_archiver" โ custom archiver
Format:
/".+"/
Default: None.
Context: site (sympa.conf)
Activates a custom archiver to use instead of MHonArc. The value of this parameter is the absolute path to the executable file.
Sympa invokes this file with these two arguments:
--listโ the address of the list including domain part.--fileโ absolute path to the message to be archived.
๐ฆ "process_archive" โ store distributed messages into archive
Format:
"on"โ enabled"off"โ disabled
Default: "off"
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2b.1 and later.
If enabled, distributed messages via lists will be archived. Otherwise archiving is disabled.
Note that even if setting this parameter disabled, past archives will not be removed and will be accessible according to access settings by each list.
๐๏ธ "archive" โ (Paragraph) Archives
Single occurrence
Privilege for reading mail archives and frequency of archiving.
Defines who can access the list's web archive.
๐ซ "archive.period" โ Deprecated.
Context: list (config)
๐ซ "archive.access" โ Deprecated.
Context: list (config)
Available versions: up to 6.2a.43.
๐ "archive.web_access" โ access right
Format: Name of "archive_web_access" scenario:
"closed"โ closed"listmaster"โ listmaster"owner"โ by owner"private"โ subscribers only"public"โ public
Default: "closed"
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2b.1 and later.
๐ง "archive.mail_access" โ access right by mail commands
Format: Name of "archive_mail_access" scenario:
"closed"โ closed"owner"โ by owner"private"โ subscribers only"public"โ public
Default: "closed"
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2b.1 and later.
๐ "archive.quota" โ quota
Format: Number of Kbytes.
Default: None.
Context: list (config), site (sympa.conf)
Available versions: 6.2b.1 and later.
๐
"archive.max_month" โ maximum number of month archived
Format: Number of months.
Default: None.
Context: list (config)
Available versions: 6.2b.1 and later.
๐ "archive_crypted_msg" โ archive encrypted mails as cleartext
Format:
"original"โ original messages"decrypted"โ decrypted messages
Default: "original"
Context: list (config)
๐ต๏ธ "web_archive_spam_protection" โ protect web archive against spam harvesters
Format:
"cookie"โ use HTTP cookie"javascript"โ use JavaScript"at"โ replace@characters"concealed"โ never show address"none"โ do nothing
Default: "cookie"
Context: list (config), domain (robot.conf), site (sympa.conf)
The same as "spam_protection", but restricted to the web archive.
In addition to it:
cookie: users must submit a small form in order to receive a cookie before browsing the web archive.concealed: e-mail addresses will never be displayed.
๐ Bounces
๐ "bounce" โ (Paragraph) Bounces management
Single occurrence
โ ๏ธ "bounce.warn_rate" โ warn rate
Format: Number of %.
Default: 30 (%)
Context: list (config), site (sympa.conf)
The list owner receives a warning whenever a message is distributed and the number (percentage) of bounces exceeds this value.
๐ซ "bounce.halt_rate" โ Deprecated.
Context: list (config), site (sympa.conf)
๐ฅ "bouncers_level1" โ (Paragraph) Management of bouncers, 1st level
Single occurrence
Level 1 is the lower level of bouncing users
๐ "bouncers_level1.rate" โ threshold
Format: Number of points.
Default: 45 (points)
Context: list (config), domain (robot.conf), site (sympa.conf)
Each bouncing user have a score (from 0 to 100).
This parameter defines a lower limit for each category of bouncing users. For example, level 1 begins from 45 to level_2_treshold.
โ๏ธ "bouncers_level1.action" โ action for this population
Format:
"remove_bouncers"โ remove bouncing users"notify_bouncers"โ send notify to bouncing users"none"โ do nothing
Default: "notify_bouncers"
Context: list (config)
This parameter defines which task is automatically applied on level 1 bouncers.
๐ "bouncers_level1.notification" โ notification
Format:
"none"โ do nothing"owner"โ owner"listmaster"โ listmaster
Default: "owner"
Context: list (config)
When automatic task is executed on level 1 bouncers, a notification email can be send to listowner or listmaster.
๐ฅ "bouncers_level2"
๐ Management of bouncers, 2nd level ๐
Single occurrence ๐ซ
Level 2 is the highest level of bouncing users โ the final boss of bouncing, bestie ๐
๐
bouncers_level2.rate
threshold
Format:
- Number of points.
Default:
- 75 (points)
Context:
- list (config), domain (robot.conf), site (sympa.conf)
Every bouncing user has a score, and that score lives somewhere between 0 and 100.
This parameter is the one that decides what score range counts as which category of bouncing user. Like, for example, level 2 is the bucket for users sitting between 80 and 100. ๐ฏ
๐
bouncers_level2.action
action for this population
Format:
"remove_bouncers"โ remove bouncing users"notify_bouncers"โ send notify to bouncing users"none"โ do nothing
Default:
"remove_bouncers"
Context:
- list (config)
This one picks which task gets automatically applied to your level 2 bouncers. ๐
๐
bouncers_level2.notification
notification
Format:
"none"โ do nothing"owner"โ owner"listmaster"โ listmaster
Default:
"owner"
Context:
- list (config)
When that automatic task runs on level 2 bouncers, a notification email can get sent out โ either to the listowner or to the listmaster. Your call, bestie ๐ฌ
๐
verp_rate
percentage of list members in VERP mode
Format:
"100%"โ 100% โ always"50%"โ 50%"33%"โ 33%"25%"โ 25%"20%"โ 20%"10%"โ 10%"5%"โ 5%"2%"โ 2%"0%"โ 0% โ never
Default:
"0%"
Context:
- list (config), domain (robot.conf), site (sympa.conf)
This is the variable envelope return path (VERP) thing, and it exists so Sympa can detect bouncing subscriber addresses. ๐ต๏ธ
0%: VERP is literally never used.100%: VERP is always in use.
โ ๏ธ VERP needs an address with an extension to be supported by your MTA, no cap. If tracking is enabled for a list or a message, VERP gets applied for 100% of subscribers.
๐
tracking
(Paragraph) Message tracking feature ๐
Single occurrence
๐
tracking.delivery_status_notification
tracking message by delivery status notification
Format:
"on"โ enabled"off"โ disabled
Default:
"off"
Context:
- list (config), site (sympa.conf)
๐
tracking.message_disposition_notification
tracking message by message disposition notification
Format:
"on"โ enabled"on_demand"โ on demand"off"โ disabled
Default:
"off"
Context:
- list (config), site (sympa.conf)
Available versions:
- 6.2a.41 and later.
๐
tracking.tracking
who can view message tracking
Format:
- Name of
"tracking"scenario: "owner"โ only owner (and listmaster)"private"โ restricted to subscribers
Default:
"owner"
Context:
- list (config), site (sympa.conf)
Available versions:
- 6.2a.3 and later.
๐
tracking.retention_period
Tracking datas are removed after this number of days
Format:
- Number of days.
Default:
- 90 (days)
Context:
- list (config), site (sympa.conf)
Available versions:
- 6.2a.3 and later.
๐
tracking.message_delivery_notification
See tracking.message_disposition_notification.
Context:
- list (config)
Available versions:
- 6.2a.0 to 6.2a.40.
๐
verp_welcome
Remove bouncing new subscribers
Format:
"on"โ enabled"off"โ disabled
Default:
"off"
Context:
- list (config), site (sympa.conf)
Available versions:
- 6.2.71b.1 and later.
If this is enabled, the welcome message gets sent using VERP so that the subscriber can be removed immediately the moment a bounce happens. ๐ซฅโจ
๐
verp_remind
Remove subscribers bouncing remind message
Format:
"on"โ enabled"off"โ disabled
Default:
"off"
Context:
- list (config), site (sympa.conf)
Available versions:
- 6.2.71b.1 and later.
Same energy as above, but for the remind message โ sent using VERP, subscriber gone immediately on a bounce. ๐ซฅโจ
๐
expire_bounce_task
Task for expiration of old bounces
Format:
/"\w+"/
Default:
"daily"
Context:
- site (sympa.conf)
This task resets the bouncing info for any address that hasn't bounced in the last 10 days after the latest message distribution. ๐งน
๐
purge_orphan_bounces_task
Task for cleaning invalidated bounces
Format:
/"\w+"/
Default:
"monthly"
Context:
- site (sympa.conf)
This task deletes bounce info for users who unsubscribed. bye bestie ๐
๐
eval_bouncers_task
Task for updating bounce scores
Format:
/"\w+"/
Default:
"daily"
Context:
- site (sympa.conf)
This task scans all the bouncing users across all the lists, and updates the bounce_score_subscriber field in the subscriber_table table. Those scores are what bouncer management works off of. ๐
๐
process_bouncers_task
Task for management of bouncers
Format:
/"\w+"/
Default:
"weekly"
Context:
- site (sympa.conf)
This task runs the actions each list has configured for its bouncing users, based on their scores. โ๏ธ
๐
purge_tables_task
Task for cleaning tables
Format:
/"\w+"/
Default:
"daily"
Context:
- site (sympa.conf)
This one cleans the old tracking info out of the notification_table table. ๐งฝ
๐
minimum_bouncing_count
Minimum number of bounces
Format:
/"\d+"/
Default:
- 10
Context:
- site (sympa.conf)
The minimum number of bounces received before a user's bounce score gets updated.
๐
minimum_bouncing_period
Minimum bouncing period
Format:
- Number of days.
Default:
- 10 (days)
Context:
- site (sympa.conf)
The minimum period the bouncing has to last for before a user's bounce score gets updated.
๐
bounce_delay
Delay of bounces
Format:
- Number of days.
Default:
- 0 (days)
Context:
- site (sympa.conf)
The average time it takes for a bounce to get sent back to the mailing list server after a post went out to a list. Usually bounces come back the same day as the original message. โณ
๐
bounce_email_prefix
Prefix of VERP return address
Format:
/"\S+"/
Default:
"bounce"
Context:
- site (sympa.conf)
This is the prefix used to build the return-path of probe messages for bounce management, whenever variable envelope return path (VERP) is enabled. Reminder: VERP needs an address with an extension to be supported by your MTA.
๐จ If you change the default value, you must modify the mail aliases too. No shortcuts, bestie.
๐
return_path_suffix
Suffix of list return address
Format:
/"\S+"/
Default:
"-owner"
Context:
- site (sympa.conf)
The suffix that gets appended to the list name to form the return-path of messages distributed through the list. This address is the one that receives all the non-delivery reports (aka bounces). ๐ฎ
๐ Loop prevention ๐
๐
loop_command_max
Maximum number of responses to command message
Format:
/"\d+"/
Default:
- 200
Context:
- site (sympa.conf)
The max number of command reports sent to one email address. Once you hit it, messages get stored in the bad subdirectory of the incoming message spool, and reports stop being sent. ๐
๐
loop_command_sampling_delay
Delay before counting responses to command message
Format:
- Number of seconds.
Default:
- 3600 (seconds)
Context:
- site (sympa.conf)
This parameter sets the delay, in seconds, before the counter of reports sent to an email address gets decremented.
๐
loop_command_decrease_factor
Decrementing factor of responses to command message
Format:
/"[.\d]+"/
Default:
- 0.5
Context:
- site (sympa.conf)
The decrementation factor (somewhere between 0 and 1) used to figure out the new report counter once the delay has expired.
๐
msgid_table_cleanup_ttl
Expiration period of message ID table
Format:
- Number of seconds.
Default:
- 86400 (seconds)
Context:
- site (sympa.conf)
The expiration period for entries in the table that the sympa_msg.pl daemon maintains, so that duplicate messages caused by a loop don't get delivered. ๐
๐
msgid_table_cleanup_frequency
Cleanup interval of message ID table
Format:
- Number of seconds.
Default:
- 3600 (seconds)
Context:
- site (sympa.conf)
The interval between cleanups of that same table the sympa_msg.pl daemon maintains, again so duplicate messages caused by a loop don't get delivered. ๐
๐ Automatic lists ๐
๐
automatic_list_feature
Automatic list
Format:
"on"โ enabled"off"โ disabled
Default:
"off"
Context:
- domain (robot.conf), site (sympa.conf)
๐
automatic_list_removal
Remove empty automatic list
Format:
"none"โ do nothing"if_empty"โ if_empty
Default:
"none"
Context:
- domain (robot.conf), site (sympa.conf)
If you set this to "if_empty", then Sympa removes automatically created mailing lists right after they're created, provided they have zero list members. poof ๐จ
Example:
automatic_list_removal if_empty
๐
automatic_list_creation
Who is able to create automatic list
Format:
- Name of
"automatic_list_creation"scenario: "family_owner"โ Restricted to people subscribed to the list of family owners."listmaster"โ restricted to listmaster"public"โ anybody. Be sure you know what you are doing
Default:
"public"
Context:
- domain (robot.conf), site (sympa.conf)
๐
automatic_list_families
Definition of automatic list families
Format:
/".+"/
Default:
- None.
Context:
- domain (robot.conf), site (sympa.conf)
This defines the families your automatic lists are based on. It's a character string structured like this:
- each family is separated from the other by a semicolon (
;) - inside a family definition, each field is separated from the other by a colon (
:) - each field has the structure:
"<field name>=<field value>"
Basically, every time Sympa uses the automatic lists families, the values defined in this parameter are available in the family object. ๐งฌ
- for scenarios:
[family->name] - for templates:
[% family.name %]
Example:
automatic_list_families name=family_one:prefix=f1:display=My automatic lists:prefix_separator=+:classes separator=-:family_owners_list=alist@domain.tld;name=family_two:prefix=f2:display=My other automatic lists:prefix_separator=+:classes separator=-:family_owners_list=anotherlist@domain.tld;
๐ธ parsed_family_files
Parsed files for families ๐ โ when Sympa instantiates a family, these are the files it runs through the parser, bestie.
- Format:
/"[-.\w]+"/ - Default:
"message_header,message_header.mime,message_footer,message_footer.mime,info" - Context: domain (
robot.conf), site (sympa.conf)
It's a comma-separated list, and heads up: no spaces allowed in the file names. Not even one. ๐ซถ
๐ family_signoff
Global unsubscription โ this one picks the scenario that governs global unsubscribing.
- Format: Name of
family_signoffscenario:authโ need authenticationclosedโ impossible
- Default:
auth - Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.54 and later.
๐ฌ๐ Tag based spam filtering
๐ซ spam_status
Type of spam filter โ literally which spam filter is doing the vibe check on your mail.
- Format: Name of
spam_statusscenario:bogofilterโ bogofilterj-chkmailโ j-chkmailnoneโ do nothingrspamdโ Rspamdspamassassinโ SpamAssassinx-spam-statusโ test X-Spam-Status header
- Default:
x-spam-status - Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.1a.2 and later.
So the lore is this: messages are supposed to get filtered by a spam filter that slaps one or more headers onto them, and this parameter is what picks the special scenario used to decide the message's spam status โ ham, spam, or unsure. ๐
๐โจ Directories
๐ home
List home โ the base directory where all the list configs live.
- Format:
/.+/ - Default:
$EXPLDIR - Context: site (
sympa.conf)
๐๏ธ etc
Directory for configuration files
- Format:
/.+/ - Default:
$SYSCONFDIR - Context: site (
sympa.conf)
Base directory of global configuration โ everything except sympa.conf, iykyk.
๐งบ spool
Base directory of spools
- Format:
/.+/ - Default:
$SPOOLDIR - Context: site (
sympa.conf)
This is the base for all the spools created at runtime. And listen: this directory must be writable by the Sympa user. Non-negotiable. ๐
๐ฅ queue
Directory for message incoming spool
- Format:
/.+/ - Default:
"$SPOOLDIR/msg" - Context: site (
sympa.conf)
Both the queue program and the sympa_msg.pl daemon use this spool, so it's giving shared custody. ๐ญ
๐ queuemod
Directory for moderation spool
- Format:
/.+/ - Default:
"$SPOOLDIR/moderation" - Context: site (
sympa.conf)
๐ฐ queuedigest
Directory for digest spool
- Format:
/.+/ - Default:
"$SPOOLDIR/digest" - Context: site (
sympa.conf)
๐ queueauth
Directory for held message spool
- Format:
/.+/ - Default:
"$SPOOLDIR/auth" - Context: site (
sympa.conf)
This parameter is named such by historical reason. The way it's just... legacy naming. Iconic behavior tbh. ๐
๐ค queueoutgoing
Directory for archive spool
- Format:
/.+/ - Default:
"$SPOOLDIR/outgoing" - Context: site (
sympa.conf)
Also named such by historical reason. We don't ask questions, we just document. ๐
โ๏ธ queuesubscribe
Directory for held request spool
- Format:
/.+/ - Default:
"$SPOOLDIR/subscribe" - Context: site (
sympa.conf)
Yep โ historical reason again. Three for three. ๐
๐ท๏ธ queuetopic
Directory for topic spool
- Format:
/.+/ - Default:
"$SPOOLDIR/topic" - Context: site (
sympa.conf)
๐ฅ queuebounce
Directory for bounce incoming spool
- Format:
/.+/ - Default:
"$SPOOLDIR/bounce" - Context: site (
sympa.conf)
The bouncequeue program and the bounced.pl daemon both hang out here. ๐ซถ
๐ queuetask
Directory for task spool
- Format:
/.+/ - Default:
"$SPOOLDIR/task" - Context: site (
sympa.conf)
๐ช queueautomatic
Directory for automatic list creation spool
- Format:
/.+/ - Default:
"$SPOOLDIR/automatic" - Context: site (
sympa.conf)
Used by the familyqueue program and the sympa_automatic.pl daemon. Two icons sharing one spool, we love to see it. โจ
๐ฆ queuebulk
Directory for message outgoing spool
- Format:
/.+/ - Default:
"$SPOOLDIR/bulk" - Context: site (
sympa.conf) - Available versions: 6.2a.41 and later.
And guess what โ named such by historical reason. The tradition continues. ๐
๐งน tmpdir
Temporary directory used by external programs such as virus scanner. Also, outputs to daemons' standard error are redirected to the files under this directory.
- Format:
/.+/ - Default:
"$SPOOLDIR/tmp" - Context: site (
sympa.conf)
๐ viewmail_dir
Directory to cache formatted messages
- Format:
/.+/ - Default:
"$SPOOLDIR/viewmail" - Context: site (
sympa.conf)
It's the base directory path of the directories where the HTML view of messages gets cached. Cute. ๐ฌ
๐พ bounce_path
Directory for storing bounces
- Format:
/.+/ - Default:
$BOUNCEDIR - Context: site (
sympa.conf)
This is where the bounced.pl daemon stashes the last bouncing message for every user. A message gets stored in the file <bounce_path>/<list name>@<mail domain name>/<email address>, or, if tracking is enabled: <bounce_path>/<list name>@<mail domain name>/<email address>_<envelope ID>.
Users can access these messages through the web interface, in the bounce management page. ๐ฅ๏ธ
Don't confuse this with thequeuebounceparameter, which is the thing that defines the spool where incoming error reports get stored and picked up by thebounced.pldaemon. Different spools, different jobs, bestie.
๐๏ธ arc_path
Directory for storing archives
- Format:
/.+/ - Default:
$ARCDIR - Context: domain (
robot.conf), site (sympa.conf)
Where the HTML archives live. The archived.pl daemon uses this one. And listen โ it is a good idea to install the archive outside the web document hierarchy, to prevent overcoming of WWSympa's access control. Like, actually do that. ๐ฅ
๐งฝ purge_spools_task
Task for cleaning spools
- Format:
/"\w+"/ - Default:
"daily" - Context: site (
sympa.conf) - Available versions: 6.2b.4 and later.
This task cleans old content in spools. Marie Kondo energy, but for spools. โจ
โณ clean_delay_queue
Max age of incoming bad messages
- Format: Number of days.
- Default: 7 (days)
- Context: site (
sympa.conf)
Number of days "bad" messages are kept in message incoming spool (as specified by queue parameter). Sympa keeps messages rejected for various reasons โ badly formatted, looping, etc. Yes, it keeps the rejects. It's sentimental. ๐ฅฒ
โณ clean_delay_queueoutgoing
Max age of bad messages for archives
- Format: Number of days.
- Default: 7 (days)
- Context: site (
sympa.conf)
Number of days "bad" messages are kept in message archive spool (as specified by queueoutgoing parameter). Sympa keeps messages rejected for various reasons โ unable to create archive directory, to copy file, etc.
โณ clean_delay_queuebounce
Max age of bad bounce messages
- Format: Number of days.
- Default: 7 (days)
- Context: site (
sympa.conf)
Number of days "bad" messages are kept in bounce spool (as specified by queuebounce parameter). Sympa keeps messages rejected for various reasons โ unknown original sender, unknown report type.
โณ clean_delay_queueauth
Max age of held messages
- Format: Number of days.
- Default: 30 (days)
- Context: site (
sympa.conf)
Number of days messages are kept in held message spool (as specified by queueauth parameter). Beyond this deadline, messages that have not been confirmed are deleted. Gone. Poof. ๐
โณ clean_delay_queuesubscribe
Max age of held requests
- Format: Number of days.
- Default: 30 (days)
- Context: site (
sympa.conf)
Number of days requests are kept in held request spool (as specified by queuesubscribe parameter). Beyond this deadline, requests that have not been validated nor declined are deleted. Rip to those requests fr. ๐
โณ clean_delay_queuetopic
Max age of tagged topics
- Format: Number of days.
- Default: 30 (days)
- Context: site (
sympa.conf)
Number of days (automatically or manually) tagged topics are kept in topic spool (as specified by queuetopic parameter). Beyond this deadline, tagging is forgotten. The tags just... fade from memory. ๐ฆ
โณ clean_delay_queueautomatic
Max age of incoming bad messages in automatic list creation spool
- Format: Number of days.
- Default: 10 (days)
- Context: site (
sympa.conf)
Number of days "bad" messages are kept in automatic list creation spool (as specified by queueautomatic parameter). Sympa keeps messages rejected for various reasons โ badly formatted, looping, etc.
โณ clean_delay_queuebulk
Max age of outgoing bad messages
- Format: Number of days.
- Default: 7 (days)
- Context: site (
sympa.conf)
Number of days "bad" messages are kept in message outgoing spool (as specified by queuebulk parameter). Sympa keeps messages rejected for various reasons โ failed personalization, bad configuration on MTA, etc.
โณ clean_delay_queuedigest
Max age of bad messages in digest spool
- Format: Number of days.
- Default: 14 (days)
- Context: site (
sympa.conf) - Available versions: 6.2.6 and later.
Number of days "bad" messages are kept in digest spool (as specified by queuedigest parameter). Sympa keeps messages rejected for various reasons โ syntax errors in digest.tt2 template, etc. Poor little template. ๐ญ
โณ clean_delay_tmpdir
Max age of temporary files
- Format: Number of days.
- Default: 7 (days)
- Context: site (
sympa.conf)
Number of days files in temporary directory (as specified by tmpdir parameter) are kept โ and yes, that includes the standard error logs. ๐งน
๐๐ S/MIME and TLS
So S/MIME auth, decryption and re-encryption? All of it. It requires these external modules: Crypt-OpenSSL-X509 and Crypt-SMIME. ๐ฅ
And TLS client authentication โ that one requires an external module: IO-Socket-SSL. ๐ซถ
๐ cafile
File containing trusted CA certificates
- Format:
/.+/ - Default: None.
- Context: site (
sympa.conf) - Available versions: 3.3.6b.1 and later.
This can be used alternatively and/or additionally to capath.
๐ capath
Directory containing trusted CA certificates
Format:
/".+"/
Default: None.
Context: site (sympa.conf)
Available versions: 3.3.6b.1 and later.
So basically, the CA certs chilling in this directory get used for client authentication. And heads up bestie: those certificates need names that include the hash of the subject โ or you can make symbolic links to them with such names. The links can be made by running the c_rehash script that's bundled in OpenSSL. ๐
๐ key_passwd
Password used to crypt lists private keys
Format: The value to be concealed.
Default: None.
Context: site (sympa.conf)
If you don't define this, Sympa just assumes your list private keys aren't encrypted. That's the vibe it defaults to.
Example:
key_passwd your_password
๐ ssl_cert_dir
Directory containing user certificates
Format:
/".+"/
Default: $EXPLDIR/X509-user-certs
Context: site (sympa.conf)
โจ Data sources setup โจ
Okay so this whole section is about pulling in subscribers, owners and moderators from external data sources. It's giving main character energy for your lists.
You're gonna need the right database driver (DBD) modules: DBD-CSV, DBD-mysql, DBD-ODBC, DBD-Oracle, DBD-Pg, DBD-SQLite and/or Net-LDAP. And also, if you need a secure connection (LDAPS) to your LDAP server: IO-Socket-SSL. No cap. ๐ฆ
๐ inclusion_notification_feature
Notify subscribers when they are included from a data source?
Format:
"on"โ enabled"off"โ disabled
Default: "off"
Context: list (config), site (sympa.conf)
๐ฏ member_include
(Paragraph) Subscribers defined in an external data source
Multiple occurrences allowed
member_include.source
the data source
Format:
/"[\w-]+"/
Default: None, mandatory.
Context: list (config)
member_include.source_parameters
data source parameters
Format:
/".*"/
Default: None.
Context: list (config)
member_include.reception
reception mode
Format: Reception mode of list member.
Default: None.
Context: list (config)
Available versions: 6.2.67b.2 and later.
Mail reception mode. ๐ฌ
member_include.visibility
visibility
Format: Visibility mode of list member.
Default: None.
Context: list (config)
Available versions: 6.2.67b.2 and later.
Visibility of the subscriber. ๐
๐ owner_include
(Paragraph) Owners defined in an external data source
Multiple occurrences allowed
owner_include.source
the data source
Format:
/"[\w-]+"/
Default: None, mandatory.
Context: list (config)
owner_include.source_parameters
data source parameters
Format:
/".*"/
Default: None.
Context: list (config)
Available versions: 5.0a and later.
owner_include.profile
profile
Format:
"privileged"โ privileged owner"normal"โ normal owner
Default: None.
Context: list (config)
owner_include.reception
reception mode
Format:
"mail"โ receive notification email"nomail"โ no notifications
Default: None.
Context: list (config)
owner_include.visibility
visibility
Format:
"conceal"โ concealed from list menu"noconceal"โ listed on the list menu
Default: None.
Context: list (config)
Available versions: 5.4a.6 and later.
๐ง editor_include
(Paragraph) Moderators defined in an external data source
Multiple occurrences allowed
editor_include.source
the data source
Format:
/"[\w-]+"/
Default: None, mandatory.
Context: list (config)
editor_include.source_parameters
data source parameters
Format:
/".*"/
Default: None.
Context: list (config)
Available versions: 5.0a and later.
editor_include.reception
reception mode
Format:
"mail"โ receive notification email"nomail"โ no notifications
Default: None.
Context: list (config)
editor_include.visibility
visibility
Format:
"conceal"โ concealed from list menu"noconceal"โ listed on the list menu
Default: None.
Context: list (config)
Available versions: 5.4a.6 and later.
โฑ๏ธ sql_fetch_timeout
Timeout for fetch of include_sql_query
Format: Number of seconds.
Default: 300 (seconds)
Context: list (config), site (sympa.conf)
Available versions: 6.2a.0 and later.
๐ include_file
File inclusion
Format:
Multiple occurrences allowed.
/"\S+"/
Default: None.
Context: list (config)
Include subscribers from this file. The file should contain one e-mail address per line (lines beginning with a "#" are ignored). Simple as that, bestie. โจ
๐ include_remote_file
(Paragraph) Remote file inclusion
Multiple occurrences allowed
include_remote_file.name
short name for this source
Format:
/".+"/
Default: None.
Context: list (config)
include_remote_file.url
data location URL
Format:
/".+"/
Default: None, mandatory.
Context: list (config)
include_remote_file.user
remote user
Format:
/".+"/
Default: None.
Context: list (config)
include_remote_file.passwd
remote password
Format: The value to be concealed.
Default: None.
Context: list (config)
include_remote_file.timeout
idle timeout
Format: Number of seconds.
Default: 180 (seconds)
Context: list (config)
include_remote_file.ssl_version
SSL version
Format:
"ssl_any"โ any versions"sslv2"โ SSL version 2"sslv3"โ SSL version 3"tlsv1"โ TLS version 1"tlsv1_1"โ TLS version 1.1"tlsv1_2"โ TLS version 1.2"tlsv1_3"โ TLS version 1.3
Default: "ssl_any"
Context: list (config)
include_remote_file.ssl_ciphers
SSL ciphers used
Format:
/".+"/
Default: "ALL"
Context: list (config)
include_remote_file.ca_verify
Certificate verification
Format:
"none"โ do nothing"optional"โ optional"required"โ required
Default: "none"
Context: list (config)
include_remote_file.nosync_time_ranges
Time ranges when inclusion is not allowed
Format:
/$time_ranges/
Default: None.
Context: list (config)
๐ซถ include_sympa_list
(Paragraph) List inclusion
Multiple occurrences allowed
Include subscribers from another list. All subscribers of list listname become subscribers of the current list. You may include as many lists as required, using one include_sympa_list paragraph for each included list. Any list at all may be included; you may therefore include lists which are also defined by the inclusion of other lists.
โ ๏ธ But be careful, bestie โ do not include list A in list B and then list B in list A, because that gives rise to an infinite loop. It's giving ouroboros and we are NOT here for it. ๐
include_sympa_list.name
short name for this source
Format:
/".+"/
Default: None.
Context: list (config)
include_sympa_list.listname
list name to include
Format:
/"$listname(\@$host)?"/
Default: None, mandatory.
Context: list (config)
include_sympa_list.filter
filter definition
Format:
/".*"/
Default: None.
Context: list (config)
include_sympa_list.nosync_time_ranges
Time ranges when inclusion is not allowed
Format:
/$time_ranges/
Default: None.
Context: list (config)
๐ include_remote_sympa_list
(Paragraph) remote list inclusion
Multiple occurrences allowed
Sympa can contact another Sympa service using HTTPS to fetch a remote list in order to include each member of a remote list as subscriber. You may include as many lists as required, using one include_remote_sympa_list paragraph for each included list.
โ ๏ธ Again โ be careful not to give rise to an infinite loop resulting from cross includes. We said what we said. ๐
For this operation, one Sympa site acts as a server while the other one acts as client. On the server side, the only setting needed is to give permission to the remote Sympa to review the list. This is controlled by the review scenario.
include_remote_sympa_list.name
short name for this source
Format:
/".+"/
Default: None.
Context: list (config)
include_remote_sympa_list.url
data location URL
Format:
/".+"/
Default: None.
Context: list (config)
Available versions: 6.2.45b.1 and later.
include_remote_sympa_list.user
remote user
Format:
/".+"/
Default: None.
Context: list (config)
Available versions: 6.2.45b.1 and later.
include_remote_sympa_list.passwd
remote password
Format: The value to be concealed.
Default: None.
Context: list (config)
Available versions: 6.2.45b.1 and later.
include_remote_sympa_list.host
remote host
Format:
/$host/
Default: None, mandatory.
Context: list (config)
๐ obsoleted. Use "data location URL".
include_remote_sympa_list.port
remote port
Format:
/"\d+"/
Default: 443
Context: list (config)
๐ obsoleted. Use "data location URL".
include_remote_sympa_list.path
remote path of sympa list dump
Format:
/"\S+"/
Default: None, mandatory.
Context: list (config)
๐ obsoleted. Use "data location URL".
include_remote_sympa_list.cert
Deprecated.
Context: list (config)
Available versions: up to 6.2.44.
include_remote_sympa_list.timeout
idle timeout
Format: Number of seconds.
Default: 180 (seconds)
include_remote_sympa_list.ssl_version
okay so this one is literally just "which SSL version are we doing bestie" ๐
- Context โ
list (config) - Available versions โ
6.2.45b.1and later. - Format:
"ssl_any"โ any versions"sslv2"โ SSL version 2"sslv3"โ SSL version 3"tlsv1"โ TLS version 1"tlsv1_1"โ TLS version 1.1"tlsv1_2"โ TLS version 1.2"tlsv1_3"โ TLS version 1.3
- Default โ
"ssl_any"
include_remote_sympa_list.ssl_ciphers
SSL ciphers used โจ
- Format โ
/".+"/ - Default โ
"ALL" - Context โ
list (config) - Available versions โ
6.2.45b.1and later.
include_remote_sympa_list.ca_verify
certificate verification, as one does ๐
- Format:
"none"โ do nothing"optional"โ optional"required"โ required
- Default โ
"optional" - Context โ
list (config) - Available versions โ
6.2.45b.1and later.
include_remote_sympa_list.nosync_time_ranges
time ranges when inclusion is not allowed (so, the do-not-disturb window ๐)
- Format โ
/$time_ranges/ - Default โ None.
- Context โ
list (config)
the LDAP era bestie, we're doing queries now ๐ฅ
include_ldap_query
(Paragraph) LDAP query inclusion โ multiple occurrences allowed, so you can stack these like it's a lil collection ๐ซถ
This paragraph defines parameters for a query returning a list of subscribers. Heads up: this feature requires the Net::LDAP (perlldap) PERL module. No module, no vibes, no LDAP.
include_ldap_query.name
short name for this source โจ
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config)
include_ldap_query.host
remote host ๐
- Format โ
/$multiple_host_or_url/ - Default โ None, mandatory.
- Context โ
list (config)
include_ldap_query.use_tls
use TLS (formerly SSL) ๐
- Format:
"starttls"โ use STARTTLS"ldaps"โ use LDAPS (LDAP over TLS)"none"โ do nothing
- Default โ
"none" - Context โ
list (config) - Available versions โ
6.2.15and later.
include_ldap_query.ssl_version
SSL version ๐
- Format:
"sslv2"โ SSL version 2"sslv3"โ SSL version 3"tlsv1"โ TLS version 1"tlsv1_1"โ TLS version 1.1"tlsv1_2"โ TLS version 1.2"tlsv1_3"โ TLS version 1.3
- Default โ
"tlsv1" - Context โ
list (config)
include_ldap_query.ssl_ciphers
SSL ciphers used ๐
- Format โ
/".+"/ - Default โ
"ALL" - Context โ
list (config)
include_ldap_query.ca_verify
certificate verification ๐
- Format:
"none"โ do nothing"optional"โ optional"required"โ required
- Default โ
"required" - Context โ
list (config) - Available versions โ
6.2.13and later.
include_ldap_query.bind_dn
remote user ๐ซถ
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config) - Available versions โ
6.2.57b.1and later.
include_ldap_query.bind_password
remote password ๐ (yes it's a secret, treat it like one)
- Format โ The value to be concealed.
- Default โ None.
- Context โ
list (config) - Available versions โ
6.2.57b.1and later.
include_ldap_query.suffix
suffix โจ
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config)
include_ldap_query.scope
search scope ๐
- Format:
"base"โ base"one"โ one level"sub"โ subtree
- Default โ
"sub" - Context โ
list (config)
include_ldap_query.deref
dereferencing aliases ๐
- Format:
"never"โ never"search"โ in searching subordinates of the base object"find"โ in locating the base object"always"โ always
- Default โ
"find" - Context โ
list (config) - Available versions โ
6.2.74and later.
include_ldap_query.timeout
connection timeout โณ
- Format โ Number of seconds.
- Default โ
30(seconds) - Context โ
list (config)
include_ldap_query.filter
filter ๐ง
- Format โ
/".+"/ - Default โ None, mandatory.
- Context โ
list (config)
include_ldap_query.attrs
extracted attribute โญ
- Format โ
/"$ldap_attrdesc(\s*,\s*$ldap_attrdesc)?"/ - Default โ
"mail" - Context โ
list (config)
include_ldap_query.select
selection (if multiple) ๐
- Format:
"all"โ all"first"โ first entry"regex"โ entries matching regular expression
- Default โ
"first" - Context โ
list (config)
include_ldap_query.regex
regular expression ๐
- Format โ
/".+"/ - Default โ
"" - Context โ
list (config)
include_ldap_query.nosync_time_ranges
time ranges when inclusion is not allowed ๐
- Format โ
/$time_ranges/ - Default โ None.
- Context โ
list (config) - Available versions โ
6.2a.16and later.
include_ldap_query.pagesize
LDAP page size ๐
- Format โ
/"\d*"/ - Default โ None.
- Context โ
list (config) - Available versions โ
6.2.74and later.
Number of records to fetch per batch (paging), for a LDAP server that supports paging. If not set or set to zero, do not use paging. Typically 1000 for an Active Directory server, to avoid "SizeLimit" errors.
include_ldap_query.passwd
See include_ldap_query.bind_password.
- Context โ
list (config) - Available versions โ up to
6.2.56.
include_ldap_query.port
Deprecated. โ ๏ธ (it's giving "old news, bestie", don't build your life around it)
- Context โ
list (config)
include_ldap_query.use_ssl
See include_ldap_query.use_tls.
- Context โ
list (config) - Available versions โ
5.3a.2to6.2.14.
include_ldap_query.user
See include_ldap_query.bind_dn.
- Context โ
list (config) - Available versions โ up to
6.2.56.
include_ldap_2level_query
(Paragraph) LDAP 2-level query inclusion โ multiple occurrences allowed ๐ฅ
This paragraph defines parameters for a two-level query returning a list of subscribers. Usually the first-level query returns a list of DNs and the second-level queries convert the DNs into e-mail addresses. This feature requires the Net::LDAP (perlldap) PERL module. Two levels, two slays, no cap.
include_ldap_2level_query.name
short name for this source โจ
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config)
include_ldap_2level_query.host
remote host ๐
- Format โ
/$multiple_host_or_url/ - Default โ None, mandatory.
- Context โ
list (config)
include_ldap_2level_query.use_tls
use TLS (formerly SSL) ๐
- Format:
"starttls"โ use STARTTLS"ldaps"โ use LDAPS (LDAP over TLS)"none"โ do nothing
- Default โ
"none" - Context โ
list (config) - Available versions โ
6.2.15and later.
include_ldap_2level_query.ssl_version
SSL version ๐
- Format:
"sslv2"โ SSL version 2"sslv3"โ SSL version 3"tlsv1"โ TLS version 1"tlsv1_1"โ TLS version 1.1"tlsv1_2"โ TLS version 1.2"tlsv1_3"โ TLS version 1.3
- Default โ
"tlsv1" - Context โ
list (config)
include_ldap_2level_query.ssl_ciphers
SSL ciphers used ๐
- Format โ
/".+"/ - Default โ
"ALL" - Context โ
list (config)
include_ldap_2level_query.ca_verify
certificate verification ๐
- Format:
"none"โ do nothing"optional"โ optional"required"โ required
- Default โ
"required" - Context โ
list (config) - Available versions โ
6.2.13and later.
include_ldap_2level_query.bind_dn
remote user ๐ซถ
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config) - Available versions โ
6.2.57b.1and later.
include_ldap_2level_query.bind_password
remote password ๐
- Format โ The value to be concealed.
- Default โ None.
- Context โ
list (config) - Available versions โ
6.2.57b.1and later.
include_ldap_2level_query.suffix1
first-level suffix โจ
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config)
include_ldap_2level_query.scope1
first-level search scope ๐
- Format:
"base"โ base"one"โ one level"sub"โ subtree
- Default โ
"sub" - Context โ
list (config)
include_ldap_2level_query.deref1
dereferencing aliases ๐
- Format:
"never"โ never"search"โ in searching subordinates of the base object"find"โ in locating the base object"always"โ always
- Default โ
"find" - Context โ
list (config) - Available versions โ
6.2.74and later.
include_ldap_2level_query.timeout1
first-level connection timeout โณ
- Format โ Number of seconds.
- Default โ
30(seconds) - Context โ
list (config)
include_ldap_2level_query.filter1
first-level filter ๐ง
- Format โ
/".+"/ - Default โ None, mandatory.
- Context โ
list (config)
include_ldap_2level_query.attrs1
first-level extracted attribute โญ
- Format โ
/$ldap_attrdesc/ - Default โ None.
- Context โ
list (config)
include_ldap_2level_query.select1
first-level selection ๐
- Format:
"all"โ all"first"โ first entry"regex"โ entries matching regular expression
- Default โ
"first" - Context โ
list (config)
include_ldap_2level_query.regex1
first-level regular expression ๐
- Format โ
/".+"/ - Default โ
"" - Context โ
list (config)
include_ldap_2level_query.suffix2
second-level suffix template โจ (template!! it's built from stuff, not just a string)
- Format โ
/".+"/ - Default โ None.
- Context โ
list (config)
include_ldap_2level_query.scope2
second-level search scope ๐
- Format:
"base"โ base"one"โ one level"sub"โ subtree
- Default โ
"sub" - Context โ
list (config)
include_ldap_2level_query.deref2
dereferencing aliases ๐
Format:
"never" - never
"search" - in searching subordinates of the base object
"find" - in locating the base object
"always" - always
- Default:
"find"๐ - Context: list (config)
- Available versions: 6.2.74 and later.
include_ldap_2level_query.timeout2
second-level connection timeout, bestie โณ
- Format: Number of seconds.
- Default: 30 (seconds)
- Context: list (config)
include_ldap_2level_query.filter2
the second-level filter template ๐
- Format:
/".+"/ - Default: None, mandatory. (yes it's required, no skipping ๐)
- Context: list (config)
include_ldap_2level_query.attrs2
second-level extracted attribute โจ
- Format:
/"$ldap_attrdesc(\s*,\s*$ldap_attrdesc)?"/ - Default:
"mail" - Context: list (config)
include_ldap_2level_query.select2
second-level selection, like who gets picked ๐
- Format:
"all" - all
"first" - first entry
"regex" - entries matching regular expression
- Default:
"first" - Context: list (config)
include_ldap_2level_query.regex2
second-level regular expression ๐
- Format:
/".+"/ - Default:
"" - Context: list (config)
include_ldap_2level_query.nosync_time_ranges
time ranges when inclusion is not allowed ๐ซ
- Format:
/$time_ranges/ - Default: None.
- Context: list (config)
- Available versions: 6.2a.16 and later.
include_ldap_2level_query.pagesize
LDAP page size ๐
- Format:
/"\d*"/ - Default: None.
- Context: list (config)
- Available versions: 6.2.74 and later.
Number of records to fetch per batch (paging), for a LDAP server that supports paging. If not set or set to zero, do not use paging. Typically1000for an Active Directory server, to avoid"SizeLimit"errors โ so if AD is being dramatic about size limits, this is your girl ๐
include_ldap_2level_query.passwd
See "include_ldap_2level_query.bind_password".
- Context: list (config)
- Available versions: up to 6.2.56.
include_ldap_2level_query.port
Deprecated. like, we don't use her anymore โฐ๏ธ
- Context: list (config)
include_ldap_2level_query.use_ssl
See "include_ldap_2level_query.use_tls".
- Context: list (config)
- Available versions: 5.3a.2 to 6.2.14.
include_ldap_2level_query.user
See "include_ldap_2level_query.bind_dn".
- Context: list (config)
- Available versions: up to 6.2.56.
include_sql_query
(Paragraph) SQL query inclusion ๐๏ธ
Multiple occurrences allowed โ yes you can stack these, she's versatile โจ
This parameter is used to define the SQL query parameters.
include_sql_query.name
short name for this source, a lil nickname ๐ท๏ธ
- Format:
/".+"/ - Default: None.
- Context: list (config)
include_sql_query.db_type
database type
- Format:
/"\S+"/ - Default: None, mandatory. (mandatory!! no skipping ๐ค)
- Context: list (config)
include_sql_query.db_name
database name
- Format:
/"\S+"/ - Default: None, mandatory.
- Context: list (config)
include_sql_query.db_host
remote host ๐
- Format:
/$host/ - Default: None.
- Context: list (config)
- Available versions: 6.2.57b.1 and later.
include_sql_query.db_port
database port ๐
- Format:
/"\d+"/ - Default: None.
- Context: list (config)
include_sql_query.db_options
connection options โ๏ธ
- Format:
/".+"/ - Default: None.
- Context: list (config)
- Available versions: 6.2.57b.1 and later.
include_sql_query.db_env
environment variables for database connection ๐ฑ
- Format:
/"\w+\=\S+(;\w+\=\S+)*"/ - Default: None.
- Context: list (config)
include_sql_query.db_user
remote user
- Format:
/"\S+"/ - Default: None.
- Context: list (config)
- Available versions: 6.2.57b.1 and later.
include_sql_query.db_passwd
remote password ๐คซ
- Format: The value to be concealed.
- Default: None.
- Context: list (config)
- Available versions: 6.2.57b.1 and later.
lowkey please don't leave this lying around in plain sight, it's giving security nightmare ๐
include_sql_query.sql_query
the actual SQL query, the main character ๐
- Format:
/$sql_query/ - Default: None, mandatory.
- Context: list (config)
include_sql_query.f_dir
See "include_sql_query.db_name".
- Context: list (config)
- Available versions: up to 6.2.70.
include_sql_query.nosync_time_ranges
time ranges when inclusion is not allowed ๐ซ
- Format:
/$time_ranges/ - Default: None.
- Context: list (config)
- Available versions: 6.2a.16 and later.
include_sql_query.connect_options
See "include_sql_query.db_options".
- Context: list (config)
- Available versions: up to 6.2.56.
include_sql_query.host
See "include_sql_query.db_host".
- Context: list (config)
- Available versions: up to 6.2.56.
include_sql_query.passwd
See "include_sql_query.db_passwd".
- Context: list (config)
- Available versions: up to 6.2.56.
include_sql_query.user
See "include_sql_query.db_user".
- Context: list (config)
- Available versions: up to 6.2.56.
ttl
TTL of user data โฐ
- Format: Number of seconds.
- Default: 3600 (seconds)
- Context: list (config), site (sympa.conf)
Sympa caches user data extracted using the include parameter. Their TTL (time-to-live) within Sympa can be controlled using this parameter. The default value is 3600 ๐
distribution_ttl
TTL of user data for message distribution ๐ฌ
- Format: Number of seconds.
- Default: None.
- Context: list (config), site (sympa.conf)
This parameter defines the delay since the last synchronization after which the user data will be updated before performing message distribution โ so basically, how stale the data is allowed to get before a message goes out ๐ธ
include_ldap_ca
(Paragraph) LDAP query custom attribute ๐
Multiple occurrences allowed โจ
include_ldap_ca.name
short name for this source
- Format:
/".+"/ - Default: None.
- Context: list (config)
include_ldap_ca.host
remote host ๐
- Format:
/$multiple_host_or_url/ - Default: None, mandatory.
- Context: list (config)
include_ldap_ca.use_tls
use TLS (formerly SSL) ๐
- Format:
"starttls" - use STARTTLS
"ldaps" - use LDAPS (LDAP over TLS)
"none" - do nothing
- Default:
"none" - Context: list (config)
- Available versions: 6.2.15 and later.
include_ldap_ca.ssl_version
SSL version
- Format:
"sslv2" - SSL version 2
"sslv3" - SSL version 3
"tlsv1" - TLS version 1
"tlsv1_1" - TLS version 1.1
"tlsv1_2" - TLS version 1.2
"tlsv1_3" - TLS version 1.3
- Default:
"tlsv1" - Context: list (config)
include_ldap_ca.ssl_ciphers
SSL ciphers used ๐
- Format:
/".+"/ - Default:
"ALL" - Context: list (config)
include_ldap_ca.ca_verify
certificate verification โ
- Format:
"none" - do nothing
"optional" - optional
"required" - required
- Default:
"required" - Context: list (config)
- Available versions: 6.2.13 and later.
include_ldap_ca.bind_dn
remote user
- Format:
/".+"/ - Default: None.
- Context: list (config)
- Available versions: 6.2.57b.1 and later.
include_ldap_ca.bind_password
remote password ๐คซ
- Format: The value to be concealed.
- Default: None.
- Context: list (config)
- Available versions: 6.2.57b.1 and later.
include_ldap_ca.suffix
suffix
- Format:
/".+"/ - Default: None.
- Context: list (config)
include_ldap_ca.scope
search scope ๐งญ
- Format:
"base" - base
"one" - one level
"sub" - subtree
- Default:
"sub" - Context: list (config)
include_ldap_ca.deref
dereferencing aliases
- Format:
"never" - never
"search" - in searching subordinates of the base object
"find" - in locating the base object
"always" - always
- Default:
"find" - Context: list (config)
- Available versions: 6.2.74 and later.
include_ldap_ca.timeout
connection timeout โณ
- Format: Number of seconds.
- Default: 30 (seconds)
- Context: list (config)
include_ldap_ca.filter
filter
- Format:
/".+"/ - Default: None, mandatory.
- Context: list (config)
include_ldap_ca.attrs
extracted attribute โจ
- Format:
/"$ldap_attrdesc(\s*,\s*$ldap_attrdesc)?"/ - Default:
"mail" - Context: list (config)
include_ldap_ca.email_entry
Name of email entry ๐ง
- Format:
/"\S+"/ - Default: None, mandatory.
- Context: list (config)
include_ldap_ca.select
selection (if multiple) ๐
- Format:
"all" - all
"first" - first entry
"regex" - entries matching regular expression
- Default:
"first" - Context: list (config)
include_ldap_ca.regex
regular expression ๐
- Format:
/".+"/ - Default:
"" - Context: list (config)
include_ldap_ca.nosync_time_ranges
time ranges when inclusion is not allowed ๐ซ
- Format:
/$time_ranges/ - Default: None.
- Context: list (config)
include_ldap_ca.passwd
See "include_ldap_ca.bind_password".
- Context: list (config)
- Available versions: up to 6.2.56.
include_ldap_ca.port
Deprecated. โฐ๏ธ
- Context: list (config)
include_ldap_ca.use_ssl
See "include_ldap_ca.use_tls".
- Context: list (config)
- Available versions: 6.2a? to 6.2.14.
include_ldap_ca.user
See "include_ldap_ca.bind_dn".
- Context: list (config)
- Available versions: up to 6.2.56.
include_ldap_2level_ca
(Paragraph) LDAP 2-level query custom attribute ๐
Multiple occurrences allowed ๐ซ
include_ldap_2level_ca.name
short name for this source
Format:
/".+"/
Default: None.
Context: list (config)
include_ldap_2level_ca.host
remote host ๐
Format:
/$multiple_host_or_url/
Default: None, mandatory.
Context: list (config)
include_ldap_2level_ca.use_tls
use TLS (formerly SSL) โจ
Format:
"starttls" - use STARTTLS
"ldaps" - use LDAPS (LDAP over TLS)
"none" - do nothing
Default: "none"
Context: list (config)
Available versions: 6.2.15 and later.
include_ldap_2level_ca.ssl_version
SSL version ๐
Format:
"sslv2" - SSL version 2
"sslv3" - SSL version 3
"tlsv1" - TLS version 1
"tlsv1_1" - TLS version 1.1
"tlsv1_2" - TLS version 1.2
"tlsv1_3" - TLS version 1.3
Default: "tlsv1"
Context: list (config)
include_ldap_2level_ca.ssl_ciphers
SSL ciphers used ๐
Format:
/".+"/
Default: "ALL"
Context: list (config)
include_ldap_2level_ca.ca_verify
Certificate verification ๐ง
Format:
"none" - do nothing
"optional" - optional
"required" - required
Default: "required"
Context: list (config)
Available versions: 6.2.13 and later.
include_ldap_2level_ca.bind_dn
remote user ๐ซถ
Format:
/".+"/
Default: None.
Context: list (config)
Available versions: 6.2.57b.1 and later.
include_ldap_2level_ca.bind_password
remote password ๐
Format: The value to be concealed.
Default: None.
Context: list (config)
Available versions: 6.2.57b.1 and later.
include_ldap_2level_ca.suffix1
first-level suffix ๐
Format:
/".+"/
Default: None.
Context: list (config)
include_ldap_2level_ca.scope1
first-level search scope ๐
Format:
"base" - base
"one" - one level
"sub" - subtree
Default: "sub"
Context: list (config)
include_ldap_2level_ca.deref1
dereferencing aliases ๐
Format:
"never" - never
"search" - in searching subordinates of the base object
"find" - in locating the base object
"always" - always
Default: "find"
Context: list (config)
Available versions: 6.2.74 and later.
include_ldap_2level_ca.timeout1
first-level connection timeout โฐ
Format: Number of seconds.
Default: 30 (seconds)
Context: list (config)
include_ldap_2level_ca.filter1
first-level filter ๐ฏ
Format:
/".+"/
Default: None, mandatory.
Context: list (config)
include_ldap_2level_ca.attrs1
first-level extracted attribute ๐ธ
Format:
/$ldap_attrdesc/
Default: None.
Context: list (config)
include_ldap_2level_ca.select1
first-level selection โญ
Format:
"all" - all
"first" - first entry
"regex" - entries matching regular expression
Default: "first"
Context: list (config)
include_ldap_2level_ca.regex1
first-level regular expression ๐ฆ
Format:
/".+"/
Default: ""
Context: list (config)
include_ldap_2level_ca.suffix2
second-level suffix template ๐ซ
Format:
/".+"/
Default: None.
Context: list (config)
include_ldap_2level_ca.scope2
second-level search scope ๐
Format:
"base" - base
"one" - one level
"sub" - subtree
Default: "sub"
Context: list (config)
include_ldap_2level_ca.deref2
dereferencing aliases ๐
Format:
"never" - never
"search" - in searching subordinates of the base object
"find" - in locating the base object
"always" - always
Default: "find"
Context: list (config)
Available versions: 6.2.74 and later.
include_ldap_2level_ca.timeout2
second-level connection timeout โณ
Format: Number of seconds.
Default: 30 (seconds)
Context: list (config)
include_ldap_2level_ca.filter2
second-level filter template ๐ฏ
Format:
/".+"/
Default: None, mandatory.
Context: list (config)
include_ldap_2level_ca.attrs2
second-level extracted attribute ๐ง
Format:
/$ldap_attrdesc/
Default: "mail"
Context: list (config)
include_ldap_2level_ca.select2
second-level selection โญ
Format:
"all" - all
"first" - first entry
"regex" - entries matching regular expression
Default: "first"
Context: list (config)
include_ldap_2level_ca.regex2
second-level regular expression ๐ฆ
Format:
/".+"/
Default: ""
Context: list (config)
include_ldap_2level_ca.email_entry
Name of email entry ๐
Format:
/"\S+"/
Default: None, mandatory.
Context: list (config)
include_ldap_2level_ca.nosync_time_ranges
Time ranges when inclusion is not allowed ๐ โโ๏ธ
Format:
/$time_ranges/
Default: None.
Context: list (config)
include_ldap_2level_ca.passwd
See "include_ldap_2level_ca.bind_password".
Context: list (config)
Available versions: up to 6.2.56.
include_ldap_2level_ca.port
Deprecated. ๐ as in, don't use it bestie
Context: list (config)
include_ldap_2level_ca.use_ssl
See "include_ldap_2level_ca.use_tls".
Context: list (config)
Available versions: 6.2a? to 6.2.14.
include_ldap_2level_ca.user
See "include_ldap_2level_ca.bind_dn".
Context: list (config)
Available versions: up to 6.2.56.
include_sql_ca
(Paragraph) SQL query custom attribute ๐๏ธ
Multiple occurrences allowed
include_sql_ca.name
short name for this source
Format:
/".+"/
Default: None.
Context: list (config)
include_sql_ca.db_type
database type ๐งฉ
Format:
/"\S+"/
Default: None, mandatory.
Context: list (config)
include_sql_ca.db_name
database name ๐
Format:
/"\S+"/
Default: None, mandatory.
Context: list (config)
include_sql_ca.db_host
remote host ๐ฅ๏ธ
Format:
/$host/
Default: None.
Context: list (config)
Available versions: 6.2.57b.1 and later.
include_sql_ca.db_port
database port ๐
Format:
/"\d+"/
Default: None.
Context: list (config)
include_sql_ca.db_options
connection options โ๏ธ
Format:
/".+"/
Default: None.
Context: list (config)
Available versions: 6.2.57b.1 and later.
include_sql_ca.db_env
environment variables for database connection ๐ฑ
Format:
/"\w+\=\S+(;\w+\=\S+)*"/
Default: None.
Context: list (config)
include_sql_ca.db_user
remote user ๐ซถ
Format:
/"\S+"/
Default: None.
Context: list (config)
Available versions: 6.2.57b.1 and later.
include_sql_ca.db_passwd
remote password ๐
Format: The value to be concealed.
Default: None.
Context: list (config)
Available versions: 6.2.57b.1 and later.
include_sql_ca.sql_query
SQL query ๐
Format:
/$sql_query/
Default: None, mandatory.
Context: list (config)
include_sql_ca.f_dir
See "include_sql_ca.db_name".
Context: list (config)
Available versions: up to 6.2.70.
include_sql_ca.email_entry
Name of email entry ๐
Format:
/"\S+"/
Default: None, mandatory.
Context: list (config)
include_sql_ca.nosync_time_ranges
Time ranges when inclusion is not allowed ๐ โโ๏ธ
Format:
/$time_ranges/
Default: None.
Context: list (config)
include_sql_ca.connect_options
See "include_sql_ca.db_options".
Context: list (config)
Available versions: up to 6.2.56.
include_sql_ca.host
See "include_sql_ca.db_host".
Context: list (config)
Available versions: up to 6.2.56.
include_sql_ca.passwd
See "include_sql_ca.db_passwd".
Context: list (config)
Available versions: up to 6.2.56.
include_sql_ca.user
See "include_sql_ca.db_user".
Context: list (config)
Available versions: up to 6.2.56.
๐ DKIM/DMARC/ARC ๐
DKIM signature verification and re-signing. It requires an external module: Mail-DKIM. โ๏ธ
ARC seals on forwarded messages. It requires an external module: Mail-DKIM. ๐
dkim_add_signature_to
Which service messages to be signed โ๏ธ
Format:
/"(?:list|robot)(?:,(?:list|robot))*"/
Default: "robot,list"
Context: domain (robot.conf), site (sympa.conf)
Inserts a DKIM signature to service messages in context of robot, list or both ๐
dkim_signer_identity
The "i=" tag as defined in rfc 4871 ๐ท๏ธ
Format:
/"\S+"/
Default: None.
Context: domain (robot.conf), site (sympa.conf)
Default is null.
dkim_feature
Insert DKIM signature to messages sent to the list ๐จ
Format:
"on" - enabled
"off" - disabled
Default: "off"
Context: domain (robot.conf), site (sympa.conf)
If set to "on", Sympa may verify DKIM signatures of incoming messages and/or insert DKIM signature to outgoing messages. ๐
dkim_parameters
(Paragraph) DKIM configuration ๐ ๏ธ
Single occurrence
A set of parameters in order to define outgoing DKIM signature
dkim_parameters.private_key_path
File path for DKIM private key ๐
Format:
/"\S+"/
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
The file must contain a PEM encoded private key ๐ธ
๐ฆ "dkim_parameters.selector"
Selector for DNS lookup of DKIM public key โ yes bestie, it's giving DNS detective energy ๐
Format: / "\S+" /
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
So the selector is literally what you use to build the DNS query for the public key. It's up to you which value you pick โ iconic, we love freedom โ but pls actually verify that you can query the public DKIM key for "<selector>._domainkey.your_domain" before you commit, ok? ๐
๐ "dkim_parameters.header_list"
Deprecated. That's it, that's the whole vibe. She's retired, don't use her โจ
Context: list (config), domain (robot.conf), site (sympa.conf)
๐ธ "dkim_parameters.signer_domain"
The DKIM "d=" tag โ and lowkey you should probably just use the default value here, bestie.
Format: /$domain/
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
So the DKIM "d=" tag is the domain of the signing entity. And the rule is non-negotiable: the list domain MUST be included in the "d=" domain. No cap. ๐
๐ "dkim_parameters.signer_identity"
The DKIM "i=" tag โ and honestly you should probably leave this parameter empty, that's the move.
Format: / "\S+" /
Default: None.
Context: list (config)
So this is the DKIM "i=" tag, and you should probably not use this parameter at all, as recommended by RFC 4871. For list broadcasted messages the default is i=<listname>-request@<domain>. Periodt. ๐
๐ฅ "dkim_signature_apply_on"
The categories of messages sent to the list that will be signed using DKIM. Choose your fighters carefully โ๏ธ
Format: Multiple values allowed, separated by ",".
"md5_authenticated_messages"โ authenticated by password"smime_authenticated_messages"โ authenticated by S/MIME signature"dkim_authenticated_messages"โ with successfully verified DKIM signature"editor_validated_messages"โ approved by moderator"none"โ do nothing"any"โ any messages
Default: "md5_authenticated_messages,smime_authenticated_messages,dkim_authenticated_messages,editor_validated_messages"
Context: list (config), domain (robot.conf), site (sympa.conf)
This parameter controls in which case messages must be signed using DKIM. You may sign every message by choosing 'any', or just a subset โ main character choice, your call. The parameter value is a comma separated list of keywords. ๐
โจ "arc_feature"
Add ARC seals to messages sent to the list. Sealing the gossip with โจcryptographic waxโจ
Format:
"on"โ enabled"off"โ disabled
Default: "off"
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2.37b.1 and later.
Enable/Disable ARC. Heads up tho: this feature requires Mail::DKIM::ARC to be installed, and maybe some custom scenario to be updated. Don't come for me if you skipped that step ๐ญ
๐ง "arc_srvid"
Authentication service identifier (authserv-id) for Authentication-Results used in ARC seal.
Format: /$rfc2045_parameter_value/
Default: None.
Context: domain (robot.conf), site (sympa.conf)
Available versions: 6.2.37b.1 and later.
Typically the domain of the mail server. Simple as that, no thoughts needed ๐
๐ "arc_parameters"
(Paragraph) ARC configuration
Single occurrence
A whole set of parameters in order to define outgoing ARC seal. She's a bundle, she's a package deal ๐ซถ
๐ "arc_parameters.private_key_path"
File path for ARC private key. Guard it like your Notes app password ๐
Format: / "\S+" /
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
The file must contain a PEM encoded private key. Defaults to same file as DKIM private key.
โญ "arc_parameters.selector"
Selector for DNS lookup of ARC public key.
Format: / "\S+" /
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
The selector is used in order to build the DNS query for public key. It is up to you to choose the value you want but verify that you can query the public DKIM key for "<selector>._domainkey.your_domain". Default is the same selector as for DKIM signatures. Reuse, recycle, slay โป๏ธ
๐ฆ "arc_parameters.signer_domain"
ARC "d=" tag, you should probably use the default value.
Format: /$domain/
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
The ARC "d=" tag is the domain of the signing entity. The DKIM d= domain name is used as its default value.
๐ "arc_parameters.arc_private_key_path"
See "arc_parameters.private_key_path".
Context: list (config)
Available versions: up to 6.2.70.
๐ "arc_parameters.arc_selector"
See "arc_parameters.selector".
Context: list (config)
Available versions: up to 6.2.70.
๐
"arc_parameters.arc_signer_domain"
See "arc_parameters.signer_domain".
Context: list (config)
Available versions: up to 6.2.70.
๐ "dmarc_protection"
(Paragraph) DMARC Protection
Single occurrence
Parameters to define how to manage From address processing to avoid some domains' excessive DMARC protection. Basically: how do we keep from getting yeeted into spam jail ๐
๐ฅ "dmarc_protection.mode"
Protection modes. Pick your roster, bestie ๐ฎ
Format: Multiple values allowed, separated by ",".
"none"โ do nothing"all"โ all"dkim_signature"โ DKIM signature exists"dmarc_reject"โ DMARC policy suggests rejection"dmarc_any"โ DMARC policy exists"dmarc_quarantine"โ DMARC policy suggests quarantine"domain_regex"โ domain matching regular expression
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
Select one or more operation modes:
- "Domain matching regular expression" (
domain_regex) matches the specified Domain regular expression - "DKIM signature exists" (
dkim_signature) matches any message with a DKIM signature header - "DMARC policy ..." (
dmarc_*) matches messages from sender domains with a DMARC policy as given - "all" (
all) matches all messages
Example:
dmarc_protection.mode dmarc_reject,dkim_signature
๐ธ "dmarc_protection.domain_regex"
Regular expression for domain name match.
Format: /".+"/
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
Regular expression match pattern for From domain. Regex girlies rise up ๐ง
๐ "dmarc_protection.other_email"
New From address.
Format: /".+"/
Default: None.
Context: list (config), domain (robot.conf), site (sympa.conf)
This is the email address to use when modifying the From header. It defaults to the list address. This is similar to Anonymisation but preserves the original sender details in the From address phrase. Best of both worlds, honestly iconic ๐
โจ "dmarc_protection.phrase"
New From name format.
Format:
"display_name"โ"Name""name_and_email"โ"Name"(e-mail)"name_via_list"โ"Name"(via List)"name_email_via_list"โ"Name"(e-mail via List)"list_for_name"โ"List"(on behalf of Name)"list_for_email"โ"List"(on behalf of e-mail)
Default: "name_via_list"
Context: list (config), domain (robot.conf), site (sympa.conf)
This is the format to be used for the sender name part of the new From header field. Pick the aesthetic that fits your list ๐
๐ฆ "remove_dkim_headers"
Remove DKIM signatures in incoming messages.
Format:
"on"โ enabled"off"โ disabled
Default: "off"
Context: list (config), domain (robot.conf), site (sympa.conf)
Available versions: 6.2.74 and later.
Normally this should be turned off. It can be turned on when DKIM signatures that cannot be verified at the recipient site cause problems.
So like, only flip this on if things are genuinely breaking. Not a vibe you want by default, fr fr ๐ญ
๐ List address verification ๐
Checks if an alias with the same name as the list to be created already exists on the SMTP server. This feature requires an external module: Net-SMTP. Yes bestie, an external module, go install it ๐ช
โญ "list_check_helo"
SMTP HELO (EHLO) parameter used for address verification.
Format: / "\S+" /
Default: None.
Context: domain (robot.conf), site (sympa.conf)
Available versions: 6.2a.0 and later.
Default value is the host part of "list_check_smtp" parameter.
๐ "list_check_smtp"
SMTP server to verify existence of the same addresses as the list to be created.
Format: /$hostport/
Default: None.
Context: domain (robot.conf), site (sympa.conf)
This is needed if you are running Sympa on a host but you handle all your mail on a separate mail relay. Long-distance relationship, but make it SMTP ๐ฌ
Default value is real FQDN of the host. Port number may be specified as "mail.example.org:25" or "203.0.113.1:25". If port is not specified, standard port (25) will be used.
๐ "list_check_suffixes"
Address suffixes to verify.
Format: / "\S+" /
Default: "request,owner,editor,unsubscribe,subscribe"
Context: domain (robot.conf), site (sympa.conf)
List of suffixes you are using for list addresses, i.e. "mylist-request", "mylist-owner" and so on.
This parameter is used with the "list_check_smtp" parameter. It is also used to check list names at list creation time. Double duty queen ๐
๐ง Antivirus plug-in ๐ง
๐ฅ "antivirus_path"
Path to the antivirus scanner engine.
Format: /".+"/
Default: None.
Context: domain (robot.conf), site (sympa.conf)
Supported antivirus: Clam AntiVirus/clamscan & clamdscan, McAfee/uvscan, Fsecure/fsav, Sophos, AVP and Trend Micro/VirusWall. A whole squad of malware-fighting besties ๐ก๏ธ
Example:
antivirus_path /usr/local/bin/clamscan
๐ "antivirus_args"
Antivirus plugin command line arguments.
Format: /".+"/
Default: None.
Context: domain (robot.conf), site (sympa.conf)
Example:
antivirus_args --no-summary --database /usr/local/share/clamav
๐
"antivirus_notify"
Notify sender if virus checker detects malicious content. Like, tell them. They gotta know ๐
Format:
"sender"โ sender"delivery_status"โ send back DSN"none"โ do nothing
Default: "sender"
Context: domain (robot.conf), site (sympa.conf)
"sender" to notify originator of the message, "delivery_status" to send delivery status, or "none". Pick one, that's the whole menu ๐
โจ Miscellaneous โจ
๐ "email"
Local part of Sympa email address.
Format: / "\S+" /
Default: "sympa"
Context: domain (robot.conf), site (sympa.conf)
Local part (the part preceding the "@" sign) of the address by which mail interface of Sympa accepts mail commands.
If you change the default value, you must modify the mail aliases too.
Do NOT forget the aliases, bestie. That's the part everyone forgets and then nothing works ๐ญ
โญ "listmaster_email"
Local part of listmaster email address.
Format: / "\S+" /
Default: "listmaster"
Context: domain (robot.conf), site (sympa.conf)
Local part (the part preceding the "@" sign) of the address by which listmasters receive messages.
If you change the default value, you must modify the mail aliases too.
Same deal as above. Aliases. Always aliases. ๐ซถ
๐ฆ "custom_robot_parameter"
Custom robot parameter.
Format: Multiple occurrences allowed.
- Format:
/".+"/ - Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
This one's your lil' DIY slot for a custom parameter on your server โจ Use it to define basically whatever you want. Just do NOT forget the semicolon between the parameter name and the parameter value, bestie, that semicolon is load-bearing.
And the payoff? You can grab that custom parameter value inside web templates with the variable "conf.custom_robot_parameter.<param_name>" ๐ธ
Example:
custom_robot_parameter param_name ; param_value
prohibited_listnames
Stops people from naming their lists certain things ๐ โโ๏ธ like, no, you cannot claim that name, it's taken by the vibes.
- Format: Any.
- Default: None.
- Context: site (
sympa.conf) - Available versions: 6.2.63b.1 and later.
It's a comma-separated list of names, and you can use * as a wildcard character. Want regex energy instead? Then hit up prohibited_listnames_regex instead.
Example:
prohibited_listnames www,root,*master
prohibited_listnames_regex
Same goal as above but regex-flavored โจ blocking list names based on a pattern.
- Format: Any.
- Default: None.
- Context: site (
sympa.conf) - Available versions: 6.2.63b.1 and later.
This parameter is a regex. Heads up though: prohibited_listnames and prohibited_listnames_regex will both be applied if they're set โ they are not exclusive, they're besties, they work as a duo ๐
Example:
prohibited_listnames_regex www|root|.*master
cache_list_config
Whether to use a binary cache of the list configuration ๐
- Format:
"binary_file"- use binary file"none"- do nothing
- Default:
"none" - Context: site (
sympa.conf)
So binary_file means Sympa processes will maintain a binary version of the list configuration, in a config.bin file on local disk. If you're running a big amount of lists (1000+), it should make the web interface startup faster โก
You can recreate that cache by running sympa.pl --reload_list_config.
db_list_cache
Use the database cache to search lists ๐
- Format:
"on"- enabled"off"- disabled
- Default:
"off" - Context: site (
sympa.conf)
Note that the list_table database table should be filled at the first time by running:
# sympa.pl --sync_list_db
purge_user_table_task
The task for expiring inactive users ๐งน
- Format:
/"\w+"/ - Default:
"monthly" - Context: site (
sympa.conf)
This task removes rows in the user_table table which have no corresponding entries in the subscriber_table table.
purge_logs_table_task
Task for cleaning tables ๐งผ
- Format:
/"\w+"/ - Default:
"daily" - Context: site (
sympa.conf)
This task cleans old logs from the logs_table table.
logs_expiration_period
Max age of logs in database โณ
- Format: Number of months.
- Default: 3 (months)
- Context: site (
sympa.conf)
Number of months that elapse before a log is expired.
stats_expiration_period
Max age of statistics information in the database ๐
- Format: Number of months.
- Default: 3 (months)
- Context: site (
sympa.conf) - Available versions: 6.2b.7 and later.
Number of months that elapse before statistics information are expired.
umask
Umask ๐ญ
- Format:
/"[0-7]+"/ - Default: 027
- Context: site (
sympa.conf)
Default mask for file creation (see umask(2)). Important lil' note: it will be interpreted as an octal value, okay?
clean_delay_queuemod
Max age of moderated messages ๐ฐ๏ธ
- Format: Number of days.
- Default: 30 (days)
- Context: list (
config), site (sympa.conf)
Number of days messages are kept in the moderation spool (as specified by the queuemod parameter). Past this deadline, messages that have not been processed are deleted โ gone, poof, no takebacks ๐
custom_attribute
(Paragraph) Custom user attributes. Multiple occurrences allowed ๐
custom_attribute.id
internal identifier
- Format:
/"\w+"/ - Default: None, mandatory.
- Context: list (
config)
custom_attribute.name
label
- Format:
/".+"/ - Default: None, mandatory.
- Context: list (
config)
custom_attribute.comment
additional comment
- Format:
/".+"/ - Default: None.
- Context: list (
config)
custom_attribute.type
type
- Format:
"string"- string"text"- multi-line text"integer"- number"enum"- set of keywords
- Default:
"string" - Context: list (
config)
custom_attribute.enum_values
possible attribute values (if enum is used)
- Format:
/".+"/ - Default: None.
- Context: list (
config)
custom_attribute.optional
is the attribute optional?
- Format:
"required"- required"optional"- optional
- Default:
"optional" - Context: list (
config)
custom_vars
(Paragraph) custom parameters. Multiple occurrences allowed ๐ซ
custom_vars.name
var name
- Format:
/"\S+"/ - Default: None, mandatory.
- Context: list (
config)
custom_vars.value
var value
- Format:
/".+"/ - Default: None, mandatory.
- Context: list (
config)
loop_prevention_regex
Regular expression applied to prevent loops with robots ๐ค
- Format:
/"\S*"/ - Default:
"mailer-daemon|sympa|listserv|majordomo|smartlist|mailman" - Context: list (
config), domain (robot.conf), site (sympa.conf)
If the sender address matches this regular expression, then the message is rejected. Simple as that ๐
pictures_feature
Pictures ๐ผ๏ธ
- Format:
"on"- enabled"off"- disabled
- Default:
"on" - Context: list (
config), domain (robot.conf), site (sympa.conf)
Enables or disables the pictures feature by default. If enabled, subscribers can upload their picture (from the "Subscriber option" page) to use as an avatar ๐ซถ
Pictures are stored in a directory specified by the static_content_path parameter.
remind_task
Periodical subscription reminder task โฐ
- Format:
/"\w+"/ - Default: None.
- Context: list (
config), site (sympa.conf)
This parameter states which model is used to create a remind task. A remind task regularly sends subscribers a message which reminds them of their list subscriptions. Very "hey bestie, you still subscribed to this" energy ๐
latest_instantiation
(Paragraph) Latest family instantiation. Single occurrence.
latest_instantiation.email
who ran the instantiation
- Format:
/"listmaster|$email"/ - Default: None.
- Context: list (
config)
latest_instantiation.date_epoch
date
- Format: The time in second from Unix epoch.
- Default: None, mandatory.
- Context: list (
config)
latest_instantiation.date
Deprecated. ๐ญ
- Context: list (
config) - Available versions: up to 6.2.16.
creation
(Paragraph) Creation of the list. Single occurrence.
creation.email
who created the list
- Format:
/"listmaster|$email"/ - Default: None, mandatory.
- Context: list (
config)
creation.date_epoch
date
- Format: The time in second from Unix epoch.
- Default: None, mandatory.
- Context: list (
config)
creation.date
Deprecated. ๐ญ
- Context: list (
config) - Available versions: up to 6.2.16.
update
(Paragraph) Last update of config. Single occurrence.
update.email
who updated the config
- Format:
/"(listmaster|automatic|$email)"/ - Default: None.
- Context: list (
config)
update.date_epoch
date
- Format: The time in second from Unix epoch.
- Default: None, mandatory.
- Context: list (
config)
update.date
Deprecated. ๐ญ
- Context: list (
config) - Available versions: up to 6.2.16.
status
Status of the list
- Format: Status of list.
- Default:
"open" - Context: list (
config)
serial
Serial number of the config
- Format:
/"\d+"/ - Default: 0
- Context: list (
config)
โจ Web interface parameters โจ
wwsympa_url
URL prefix of web interface ๐
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
This is used to construct URLs of the web interface. The protocol (either https:// or http://) is required, don't skip it bestie, it's not optional.
Example:
wwsympa_url https://web.example.org/sympa
wwsympa_url_local
URL prefix of WWSympa behind proxy ๐ก๏ธ
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.56 and later.
static_content_url
URL for static contents ๐ฆ
- Format: Any.
- Default:
"/static-sympa" - Context: domain (
robot.conf), site (sympa.conf)
The HTTP server have to map it with the static_content_path directory.
static_content_path
Directory for static contents ๐
- Format: Any.
- Default:
$STATICDIR - Context: domain (
robot.conf), site (sympa.conf)
css_path
Directory for static style sheets (CSS) ๐
- Format: Any.
- Default:
$CSSDIR - Context: site (
sympa.conf)
After an upgrade, static CSS files are upgraded with the newly installed css.tt2 template. So lowkey this is not a good place to store your customized CSS files โ it will get overwritten, no cap ๐
css_url
URL for style sheets (CSS) ๐
- Format: Any.
- Default:
"/static-sympa/css" - Context: site (
sympa.conf)
To use auto-generated static CSS, the HTTP server have to map it with css_path.
pictures_path
Directory for subscribers pictures ๐ธ
- Format: Any.
- Default:
$PICTURESDIR - Context: site (
sympa.conf) - Available versions: 6.2.25b.2 and later.
pictures_url
URL for subscribers pictures ๐ผ๏ธ
- Format: Any.
- Default:
"/static-sympa/pictures" - Context: site (
sympa.conf) - Available versions: 6.2.25b.2 and later.
The HTTP server have to map it with the pictures_path directory.
mhonarc
Path to MHonArc mail-to-HTML converter โ๏ธ
- Format: Any.
- Default:
"/usr/bin/mhonarc" - Context: domain (
robot.conf), site (sympa.conf)
This one is required for HTML mail archiving, bestie. No mhonarc, no pretty HTML archives. Periodt. ๐
๐ธ log_facility
System log facility for web interface โจ
- Format: Any.
- Default:
"LOCAL1" - Context: site (
sympa.conf)
System log facility for WWSympa, archived.pl and bounced.pl. The default is literally to use the value of the "syslog" parameter. iykyk ๐ซถ
๐ Web interface parameters: Appearances ๐
๐
logo_html_definition
Custom logo ๐ผ๏ธ
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
An HTML fragment that inserts a logo into the page of the web interface. Slap your brand on there, main character energy only. ๐
Example:
logo_html_definition <a href="http://www.example.com"><img style="float: left; margin-top: 7px; margin-left: 37px;" src="http://www.example.com/logos/mylogo.jpg" alt="My Company" /></a>
๐ฆ favicon_url
Custom favicon ๐
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
Available versions: 6.2a.5 and later.
URL of the favicon image.
๐ default_home
Type of main web page
- Format: Any.
- Default:
"home" - Context: domain (
robot.conf), site (sympa.conf)
"lists" gets you the page of list of lists. "home" gets you the home page. Pick your vibe.
โจ archive_default_index
Default index organization of web archive
- Format: Any.
- Default:
"thrd" - Context: site (
sympa.conf)
thrd: Threaded index.
mail: Chronological index.
๐ review_page_size
Size of review page
- Format: Any.
- Default: 25
- Context: domain (
robot.conf), site (sympa.conf)
The default number of lines of the array displaying users in the review page. Twenty-five little rows of subscribers, slay.
๐ง viewlogs_page_size
Size of viewlogs page
- Format: Any.
- Default: 25
- Context: domain (
robot.conf), site (sympa.conf)
The default number of lines of the array displaying the log entries in the logs page.
๐ main_menu_custom_button_1_title, ... main_menu_custom_button_3_title, main_menu_custom_button_1_url, ... main_menu_custom_button_3_url, main_menu_custom_button_1_target, ... main_menu_custom_button_3_target
Custom menus ๐
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
You can modify the main menu content by editing the menu.tt2 file, but bestie you can also just edit these parameters to add up to 3 buttons. Each button is defined by a title (the text inside the button), an URL and, optionally, a target. That's it, that's the whole thing. ๐
Example:
main_menu_custom_button_1_title FAQ
main_menu_custom_button_1_url http://www.renater.fr/faq/universalistes/index
main_menu_custom_button_1_target Help
๐ฅ Password validation ๐ฅ
It checks if the password the user submitted has sufficient strength. This feature requires an external module: Data-Password. No module, no vibe check. ๐ญ
๐ password_validation
Password validation
- Format: Any.
- Default: None.
- Context: site (
sympa.conf)
Available versions: 6.1.23 and later.
The password validation techniques to be used against user passwords that are added to mailing lists. Options come from Data::Password โ https://metacpan.org/pod/Data::Password#VARIABLES
Example:
password_validation MINLEN=8,GROUPS=3,DICTIONARY=4,DICTIONARIES=/pentest/dictionaries
๐ Authentication with LDAP ๐
Authenticates users based on the directory on the LDAP server. This feature requires an external module: Net-LDAP. And also, if a secure connection (LDAPS) is required: IO-Socket-SSL. Two modules, one glow-up. โจ
๐ซถ ldap_force_canonical_email
Use canonical email address for LDAP authentication
- Format: Any.
- Default: 1
- Context: domain (
robot.conf), site (sympa.conf)
So like, when using LDAP authentication, if the identifier the user gave you was a valid email: if this parameter is set to false, then that provided email is what gets used to authenticate the user. Otherwise, the first email returned by the LDAP server is what gets used. Choose wisely. ๐ฆ
๐ SOAP HTTP interface ๐
Provides some functions of Sympa through the SOAP HTTP interface. This feature requires an external module: SOAP-Lite.
โญ soap_url
URL of SympaSOAP
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
The WSDL document of SympaSOAP refers to this URL in its service section. It's giving very official. ๐
Example:
soap_url http://web.example.org/sympasoap
๐ธ soap_url_local
URL of SympaSOAP behind proxy
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
Available versions: 6.2.19b.1 and later.
๐ Web interface parameters: Miscellaneous ๐
๐ cookie_domain
HTTP cookies validity domain
- Format: Any.
- Default:
"localhost" - Context: domain (
robot.conf), site (sympa.conf)
If it begins with a dot ("."), the cookie is available within the specified Internet domain. Otherwise, it's for the specified host. The only reason you'd ever swap out the default value is when WWSympa's authentication process is shared with an application running on another host. That's the tea. โ
Example:
cookie_domain .renater.fr
โจ cookie_expire
HTTP cookies lifetime
- Format: Any.
- Default: 0
- Context: site (
sympa.conf)
This is the default value when it's not set explicitly by users. "0" means the cookie may be retained during browser sessions.
๐ฆ cookie_refresh
Average interval to refresh HTTP session ID.
- Format: Any.
- Default: 60
- Context: site (
sympa.conf)
๐ purge_session_table_task
Task for cleaning old sessions
- Format:
/"\w+"/ - Default:
"daily" - Context: site (
sympa.conf)
This task removes old entries in the "session_table" table. Spring cleaning but make it cron. ๐งน
๐ session_table_ttl
Max age of sessions
- Format: Any.
- Default:
"2d" - Context: site (
sympa.conf)
Session duration is controlled by the "sympa_session" cookie validity attribute. However โ for security reasons โ this delay also needs to be controlled server side. This task removes old entries in the "session_table" table. Double control, no cap. ๐
Format of values is a string without spaces including "y" for years, "m" for months, "d" for days, "h" for hours, "min" for minutes and "sec" for seconds.
๐ง anonymous_session_table_ttl
Max age of sessions for anonymous users
- Format: Any.
- Default:
"1h" - Context: site (
sympa.conf)
๐ shared_feature
Enable shared repository
- Format:
"on"- enabled"off"- disabled
- Default:
"off" - Context: domain (
robot.conf), site (sympa.conf)
Available versions: 6.2.41b.2 and later.
If it's set to "on", list owners can open a shared repository. Doors open, bestie. ๐ชโจ
๐ shared_doc
(Paragraph) Shared documents
Single occurrence
This paragraph defines read and edit access to the shared document repository.
๐
shared_doc.d_read
Who can view
- Format: Name of
"d_read"scenario:"owner"- restricted to list owners"private"- restricted to subscribers"private-https"- restricted to subscribers authenticated with user cert"public"- public documents
- Default:
"private" - Context: list (
config), domain (robot.conf), site (sympa.conf)
๐ธ shared_doc.d_edit
Who can edit
- Format: Name of
"d_edit"scenario:"editor"- moderated for subscribers"owner"- restricted to list owners"private"- restricted to subscribers"private-https"- restricted to subscribers authenticated with user cert"public"- public documents
- Default:
"owner" - Context: list (
config), domain (robot.conf), site (sympa.conf)
๐ shared_doc.quota
quota
- Format: Number of Kbytes.
- Default: None.
- Context: list (
config), domain (robot.conf), site (sympa.conf)
โจ use_html_editor
Use HTML editor
- Format:
"off"- disabled"on"- enabled
- Default:
"off" - Context: domain (
robot.conf), site (sympa.conf)
Available versions: 6.2a.0 and later.
If it's set to "on", users will be able to post messages in HTML using a javascript WYSIWYG editor. Fancy. ๐
Example:
use_html_editor on
๐ฆ html_editor_url
URL of HTML editor
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
Available versions: 6.2a.34 and later.
URL path to the javascript file making the WYSIWYG HTML editor available. It's a relative path under <static_content_url> or an absolute path.
The example is for TinyMCE 4 installed under <static_content_path>/js/tinymce/.
Example:
html_editor_url js/tinymce/tinymce.min.js
๐ html_editor_init
HTML editor initialization
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf)
Available versions: 6.2a.0 and later.
A Javascript excerpt that enables and configures the WYSIWYG HTML editor.
Example:
html_editor_init tinymce.init({selector:"#body",language:lang.split(/[^a-zA-Z]+/).join("_")});
๐ฅ max_wrong_password
Count limit of wrong password submission
- Format: Any.
- Default: 19
- Context: domain (
robot.conf), site (sympa.conf)
If this limit gets reached, the account is locked until the user renews their password. The default value was chosen specifically to block bots trying to log in using a brute force strategy. A real user should never reach this value โ they'll probably use the renew password service long before they perform that many tries. Bots stay losing. ๐
๐ง password_case
Password case
- Format: Any.
- Default:
"insensitive" - Context: site (
sympa.conf)
"insensitive" or "sensitive".
If it's set to "insensitive", WWSympa's password check will be insensitive. This only concerns passwords stored in the Sympa database, not the ones in LDAP.
๐จ Should not be changed! May invalid all user password. Do not touch, bestie, I'm so serious. ๐ญ
๐ password_hash
Password hashing algorithm
- Format: Any.
- Default:
"md5" - Context: site (
sympa.conf)
Available versions: 6.2.25b.3 and later.
"md5" or "bcrypt".
If you set it to "md5", Sympa hashes passwords with MD5. Flip it to "bcrypt" and, surprise, bcrypt hashes are what you get. Bestie, hear me: this is only about the passwords chillin' in the Sympa database. The ones in LDAP? Not our business, not touching those. ๐
password_hash_update
Update password hashing algorithm when users log in โ like, a glow-up that happens automatically the moment they walk in โจ
- Format: Any.
- Default:
1 - Context: site (
sympa.conf) - Available versions: 6.2.25b.3 and later.
So here's the plot: the second a login goes through successfully, Sympa re-encrypts that user's password using whatever algorithm password_hash is pointing at. That's how you migrate to a new hash algorithm gracefully โ no dramatic breakup with the old one, just a quiet transition. Set it to 0 and nope, existing password hashes stay exactly as they are, no updating. But new passwords and reset passwords? They always follow password_hash, every single time, no exceptions. ๐ซถ
bcrypt_cost
Bcrypt hash cost โ the effort dial ๐๏ธ
- Format: Any.
- Default:
12 - Context: site (
sympa.conf) - Available versions: 6.2.25b.3 and later.
When password_hash is set to "bcrypt", this is the cost parameter handed to the bcrypt hash function. The default of 12 is expected to take roughly 250ms to compute a password hash on a 3.2GHz CPU. And again โ this only concerns passwords stored in the Sympa database, not the ones in LDAP.
You can change it whenever, but any new cost setting only applies to new passwords. Old hashes stay at their old cost, iykyk. ๐
one_time_ticket_lifetime
Age of one time ticket โ how long before it ghosts โณ
- Format: Any.
- Default:
"2d" - Context: site (
sympa.conf)
Duration before the one time tickets are expired. That's it, that's the whole vibe.
one_time_ticket_lockout
Restrict access to one time ticket โ who gets to touch it ๐
- Format: Any.
- Default:
"one_time" - Context: domain (
robot.conf), site (sympa.conf)
Is access to the one time ticket restricted, if any users previously accessed? (one_time | remote_addr | open)
purge_one_time_ticket_table_task
Task for expiring old one time tickets โ the little janitor ๐งน
- Format:
/"\w+"/ - Default:
"daily" - Context: site (
sympa.conf)
one_time_ticket_table_ttl
Expiration period of one time ticket โ the shelf life โฐ
- Format: Any.
- Default:
"10d" - Context: site (
sympa.conf)
pictures_max_size
The maximum size of uploaded picture โ the ceiling for your selfies ๐ธ
- Format: Number of bytes.
- Default: 102400 (bytes)
- Context: domain (
robot.conf), site (sympa.conf)
spam_protection
Protect web interface against spam harvesters โ hide your addy from the bots ๐ก๏ธ
- Format:
"at"- replace @ characters"javascript"- use JavaScript"none"- do nothing
- Default:
"javascript" - Context: list (
config), domain (robot.conf), site (sympa.conf)
Okay so the lore: Sympa web sites gotta be protected from spambots that literally scrape email addresses off public web sites. Sympa ships several methods, and you pick your fighter with the spam_protection and web_archive_spam_protection parameters. Possible values are:
javascript:
the address is hidden using a javascript. A user who enables javascript can see a nice mailto address where others have nothing. cute AND effective ๐
at:
the @ char is replaced by the string " AT ". subtle. lowkey iconic.
none:
no protection against spammer. bestie. why. ๐
reporting_spam_script_path
Script to report spam โ snitch, but make it automated ๐ข
- Format: Any.
- Default: None.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2a.0 and later.
If it's set, then when a list moderator reports undetected spams for list moderation, this external script gets invoked and the message gets injected into the script's standard input. Simple as that.
domains_blocklist
Prevent people to subscribe to a list with addresses using these domains โ the banned list ๐ซ
- Format: Any.
- Default: None.
- Context: site (
sympa.conf) - Available versions: 6.2.61b.1 and later.
This parameter is a comma-separated list.
Example:
domains_blocklist example.org,spammer.com
quiet_subscription
Quiet subscriptions policy โ do we announce, or do we simply โจarriveโจ
- Format:
"on"- enabled"optional"- optional"off"- disabled
- Default:
"optional" - Context: site (
sympa.conf) - Available versions: 6.2.41b.1 and later.
Global policy for quiet subscriptions: "on" means subscriptions will never send a notice to the subscriber. "off" will enforce a notice being sent. And "optional" (the default, bestie) lets the list policy decide. ๐ฆ
show_report_abuse
Add a "Report abuse" link in the side menu of the lists โ a little callout button ๐ฎ
- Format:
"on"- enabled"off"- disabled
- Default:
"off" - Context: site (
sympa.conf) - Available versions: 6.2.37b.3 and later.
The link is a mailto link, and if you wanna change that, you do it by overriding web_tt2/report_abuse.tt2. Go off. ๐
allow_account_deletion
EXPERIMENTAL! Allow users to delete their account. If enabled, shows a "delete my account" form in user's preferences page. ๐ซฃ
- Format:
"on"- enabled"off"- disabled
- Default:
"off" - Context: site (
sympa.conf) - Available versions: 6.2.41b.1 and later.
โ ๏ธ Bestie, note the EXPERIMENTAL! โ this one's still in the lab.
Account deletion unsubscribes the users from his/her lists and removes him/her from lists ownership. It is only available to users using internal authentication (i.e. no LDAP, no SSO...). See https://github.com/sympa-community/sympa/issues/300 for details.
Renamed parameters ๐ซ
These parameters were renamed. Though older names are still available, their use is no longer recommended. So likeโฆ they're still in the group chat, but nobody's @-ing them anymore. ๐ฅฒ
arc_parameters.arc_private_key_path
See arc_parameters.private_key_path.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.57b.1 to 6.2.70.
arc_parameters.arc_selector
See arc_parameters.selector.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.57b.1 to 6.2.70.
arc_parameters.arc_signer_domain
See arc_parameters.signer_domain.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.57b.1 to 6.2.70.
arc_private_key_path
See arc_parameters.private_key_path.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.37b.1 to 6.2.56.
arc_selector
See arc_parameters.selector.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.37b.1 to 6.2.56.
arc_signer_domain
See arc_parameters.signer_domain.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2.37b.1 to 6.2.56.
archive_mail_access
See archive.mail_access.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
archive_web_access
See archive.web_access.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
bounce_halt_rate
See bounce.halt_rate.
- Context: site (
sympa.conf) - Available versions: up to 6.2.56.
bounce_warn_rate
See bounce.warn_rate.
- Context: site (
sympa.conf) - Available versions: up to 6.2.56.
custom-header
See custom_header.
- Context: Unknown.
custom-subject
See custom_subject.
- Context: Unknown.
d_edit
See shared_doc.d_edit.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
d_read
See shared_doc.d_read.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
default_archive_quota
See archive.quota.
- Context: site (
sympa.conf) - Available versions: up to 6.2.56.
default_bounce_level1_rate
See bouncers_level1.rate.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
default_bounce_level2_rate
See bouncers_level2.rate.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
default_list_priority
See priority.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
default_max_list_members
See max_list_members.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
default_remind_task
See remind_task.
- Context: site (
sympa.conf) - Available versions: up to 6.2.56.
default_shared_quota
See shared_doc.quota.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
default_sql_fetch_timeout
See sql_fetch_timeout.
- Context: site (
sympa.conf) - Available versions: 6.2a.0 to 6.2.56.
default_ttl
See ttl.
- Context: site (
sympa.conf) - Available versions: up to 6.2.56.
dkim_private_key_path
See dkim_parameters.private_key_path.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
dkim_selector
See dkim_parameters.selector.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
dkim_signer_domain
See dkim_parameters.signer_domain.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
dmarc_protection_domain_regex
See dmarc_protection.domain_regex.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
dmarc_protection_mode
See dmarc_protection.mode.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
dmarc_protection_other_email
See dmarc_protection.other_email.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
dmarc_protection_phrase
See dmarc_protection.phrase.
- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
domains_blacklist
See domains_blocklist.
- Context: site (
sympa.conf) - Available versions: 6.2.41b.1 to 6.2.60.
email_gecos
See gecos.
- Context: site (
sympa.conf) - Available versions: 6.2a.5 to 6.2a.33.
forced_reply-to
See forced_reply_to.
- Context: Unknown.
forced_replyto
- See
forced_reply_to.- Context: Unknown.
key_passwordโ Seekey_passwd, bestie, it's the same thing wearing a different name ๐- Context: site (
sympa.conf)
- Context: site (
log_socket_typeโ Seesyslog_socket.type.- Context: site (
sympa.conf) - Available versions: up to 6.2.72.
- Context: site (
max-sizeโ Seemax_size.- Context: Unknown.
merge_featureโ Seepersonalization_feature.- Context: Unknown.
- Available versions: 6.0b.2 to 6.2.59b.1.
remind_return_pathโ Seeverp_remind.- Context: list (
config), site (sympa.conf) - Available versions: 2.5 to 6.2.70.
- Context: list (
reply-toโ Seereply_to.- Context: Unknown.
replytoโ Seereply_to.- Context: Unknown.
subscriptionโ Seesubscribe.- Context: Unknown.
tracking_default_retention_periodโ Seetracking.retention_period.- Context: site (
sympa.conf) - Available versions: 6.2a.3 to 6.2.56.
- Context: site (
tracking_delivery_status_notificationโ Seetracking.delivery_status_notification.- Context: site (
sympa.conf) - Available versions: 6.2a.0 to 6.2.56.
- Context: site (
tracking_message_delivery_notificationโ Seetracking_message_disposition_notification.- Context: site (
sympa.conf) - Available versions: 6.2a.0 to 6.2a.40.
- Context: site (
tracking_message_disposition_notificationโ Seetracking.message_disposition_notification.- Context: site (
sympa.conf) - Available versions: 6.2a.41 to 6.2.56.
- Context: site (
unsubscriptionโ Seeunsubscribe.- Context: Unknown.
use_blacklistโ Seeuse_blocklist. (the glow-up name fr fr)- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 5.3a.4 to 6.2.60.
- Context: domain (
welcome_return_pathโ Seeverp_welcome.- Context: list (
config), site (sympa.conf) - Available versions: 2.5 to 6.2.70.
- Context: list (
๐ Deprecated parameters
Okay so these ones are deprecated. Like, dead dead. They may not be used anymore โ no cap, do not try it, the config parser will simply not have a good time.
accountโ Deprecated.- Context: list (
config)
- Context: list (
antispam_featureโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.0a.1 to 6.2.70.
- Context: domain (
antispam_tag_header_ham_regexpโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.0a.1 to 6.1a.1.
- Context: domain (
antispam_tag_header_nameโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.0a.1 to 6.1a.1.
- Context: domain (
antispam_tag_header_spam_regexpโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.0a.1 to 6.1a.1.
- Context: domain (
archived_pidfileโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
automatic_list_prefixโ Deprecated.- Context: site (
sympa.conf)
- Context: site (
bounced_pidfileโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
clean_delay_queueotherโ Deprecated.- Context: site (
sympa.conf) - Available versions: 5.4a.9 to 5.4.7.
- Context: site (
color_0, ...,color_15โ See description on web interface. Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 5.1b to 6.2.70.
- Context: domain (
cookieโ Deprecated.- Context: list (
config), site (sympa.conf) - Available versions: up to 6.2.60.
- Context: list (
dark_color,light_color,text_color,bg_color,error_color,selected_color,shaded_colorโ See description on web interface. Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 3.3a to 6.2.70.
- Context: domain (
default_distribution_ttlโ Deprecated.- Context: site (
sympa.conf)
- Context: site (
distribution_modeโ Deprecated.- Context: site (
sympa.conf) - Available versions: 5.0a.1 to 6.2a.40.
- Context: site (
edit_listโ Deprecated.- Context: site (
sympa.conf)
- Context: site (
editorโ Deprecated.- Context: list (
config) - Available versions: up to 6.2.32.
- Context: list (
expire_taskโ Deprecated.- Context: list (
config)
- Context: list (
filesystem_encodingโ Deprecated.- Context: site (
sympa.conf) - Available versions: 5.3a.7 to 6.2.52.
- Context: site (
forced_reply_toโ Deprecated.- Context: list (
config)
- Context: list (
hostโ Deprecated.- Context: list (
config), domain (robot.conf), site (sympa.conf) - Available versions: up to 6.2.32.
- Context: list (
html_editor_fileโ Deprecated.- Context: site (
sympa.conf) - Available versions: 6.0a.0 to 6.2a.33.
- Context: site (
htmlarea_urlโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.2.35b.1.
- Context: site (
http_hostโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.54.
- Context: domain (
include_listโ Deprecated.- Context: list (
config) - Available versions: 2.2.6 to 6.2.15.
- Context: list (
ldap_export_connection_timeoutโ Deprecated.- Context: site (
sympa.conf) - Available versions: 3.3b.3 to 4.1?.
- Context: site (
ldap_export_dnmanagerโ Deprecated.- Context: site (
sympa.conf) - Available versions: 3.3b.3 to 4.1?.
- Context: site (
ldap_export_hostโ Deprecated.- Context: site (
sympa.conf) - Available versions: 3.3b.3 to 4.1?.
- Context: site (
ldap_export_nameโ Deprecated.- Context: site (
sympa.conf) - Available versions: 3.3b.3 to 4.1?.
- Context: site (
ldap_export_passwordโ Deprecated.- Context: site (
sympa.conf) - Available versions: 3.3b.3 to 4.1?.
- Context: site (
ldap_export_suffixโ Deprecated.- Context: site (
sympa.conf) - Available versions: 3.3b.3 to 4.1?.
- Context: site (
localedirโ Deprecated.- Context: site (
sympa.conf) - Available versions: 4.2b.2 to 6.2a.32.
- Context: site (
lock_methodโ Deprecated.- Context: site (
sympa.conf) - Available versions: 5.3b.3 to 6.2a.33.
- Context: site (
log_conditionโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2a.29 to 6.2.41b.1.
- Context: domain (
log_moduleโ Deprecated.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: 6.2a.29 to 6.2.41b.1.
- Context: domain (
msgcatโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 4.2b.1.
- Context: site (
opensslโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.2a.40.
- Context: site (
ownerโ Deprecated.- Context: list (
config) - Available versions: up to 6.2.32.
- Context: list (
pidfileโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
pidfile_bulkโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
pidfile_creationโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
pidfile_distributeโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
queuedistributeโ Deprecated.- Context: site (
sympa.conf) - Available versions: 5.0a.1 to 6.2a.40.
- Context: site (
queueexpireโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 5.1.2.
- Context: site (
reply_toโ Deprecated.- Context: list (
config)
- Context: list (
sortโ Deprecated.- Context: site (
sympa.conf) - Available versions: 1.4.0 and later.
- Context: site (
task_manager_pidfileโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.1.17.
- Context: site (
tracking(domain and site) โ Seetracking.tracking.- Context: domain (
robot.conf), site (sympa.conf) - Available versions: up to 6.2.56.
- Context: domain (
triโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 1.3.4-1.
- Context: site (
trusted_ca_optionsโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 3.3.5.
- Context: site (
use_fast_cgiโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 6.2.22.
- Context: site (
user_data_sourceโ Deprecated.- Context: list (
config)
- Context: list (
web_archiveโ Deprecated.- Context: list (
config), domain (robot.conf), site (sympa.conf) - Available versions: up to 6.2a.43.
- Context: list (
web_recode_toโ Deprecated.- Context: site (
sympa.conf) - Available versions: up to 5.2.
- Context: site (
๐ FILES
Here's where everything actually lives on disk, bestie ๐๏ธ
/etc/sympa/sympa.confโ Sympa main configuration file.$SYSCONFDIR/<mail domain name>/robot.confโ Configuration specific to each mail domain.$EXPLDIR/<list name>/configor$EXPLDIR/<mail domain name>/<list name>/configโ List main configuration file.
๐ SEE ALSO
Go read the Sympa Administration Manual โ https://www.sympa.community/manual/. It's giving main character energy and it knows everything ๐ซถ
Also, go say hi to the rest of the manpage fam:
auth.conf(5),charset.conf(5),edit_list.conf(5),ldap_alias_manager.conf(5),nrcpt_by_domain.conf(5),sympa_scenario(5),topics.conf(5).
Okay that's a wrap on SYMPA_CONFIG(5), my love ๐ this was version 6.2.80, dated 2026-10-19, and yes, that footer at the bottom really does just say SYMPA_CONFIG(5) one more time for dramatic effect ๐
you studied the whole thing, you absolutely ate, periodt ๐โจ
๐ฆ where this page comes from
- fedora 43: sympa 6.2.80-2.fc43 ยท GPL-2.0-or-later AND (OFL-1.1-RFN AND MIT) AND OFL-1.1-RFN AND MIT and (MIT OR GPL-2.0-only)
- fedora 44: sympa 6.2.80-2.fc44 ยท GPL-2.0-or-later AND (OFL-1.1-RFN AND MIT) AND OFL-1.1-RFN AND MIT and (MIT OR GPL-2.0-only)
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms