SYMPA(1)

πŸ’… SYMPA(1) β€” the sympa manual, bestie edition

sympa 6.2.80 · manual page SYMPA(1) ✨


✨ NAME ✨

sympa, sympa.pl β€” the command line utility that runs the whole Sympa show. Your bestie for managing Sympa from the terminal, no cap. πŸ‘‘

🫢 SYNOPSIS 🫢

"sympa" command [ general options... ] ...

🌸 DESCRIPTION 🌸

Heads up bestie: for a big-picture overview of the Sympa docs, go look at sympa_toc(1). πŸ’–

So sympa is what you invoke from the command line, and then it goes and does a bunch of administration tasks for you. Various ones. Different flavors. It's giving "swiss army knife but make it mailing lists". πŸ¦‹

πŸŽ€ GENERAL OPTIONS πŸŽ€

sympa may run with these options in general. Not command-specific, these are the universal ones, the ones that go with everything. ✨

  • -d, --debug β€” turns on debug mode. Maximum yapping, maximum detail. πŸ”
  • *-f, --config=file β€” forces Sympa to use an alternative configuration file instead of /etc/sympa/sympa.conf. Like, it's not gonna touch the usual one, it's using *yours. πŸ’…
  • **-l, --lang=lang β€” set this one to pick the language Sympa speaks. Just so you know, the matching gettext catalog file has to live in the $LOCALEDIR directory. 🌈
  • --log_level=level β€” sets Sympa's log level. Turn the volume knob on the logs. πŸ”Š
  • -m, --mail β€” enables SMTP logging. πŸ“§
  • --noout β€” skips output to the console, except for fatal error messages. So like, quiet mode, but it will still scream if something is truly cooked. πŸ’€

πŸ‘‘ COMMANDS πŸ‘‘

Currently these are the commands available. To see the detail of any one of them, run "sympa help" command. Yes bestie, there's a help for the help. 🫢

  • sympa add β€” add users to the list
  • sympa bouncers β€” manipulate list bounced users
  • sympa check β€” check environment
  • sympa close β€” close a list, or the lists belonging to a family
  • sympa config β€” manipulate configuration of Sympa
  • sympa copy β€” copy the list
  • sympa create β€” create a list
  • sympa del β€” delete users from the list
  • sympa dump β€” dump users of the lists
  • sympa export_list β€” TBD
  • sympa help β€” display help information about Sympa CLI
  • sympa include β€” update inclusion
  • sympa instantiate β€” instantiate the lists in a family
  • sympa lowercase β€” lowercase email addresses in database
  • sympa make_alias_file β€” create aliases file
  • sympa md5_digest β€” output a MD5 digest
  • sympa move β€” move or copy the list
  • sympa open β€” open the list
  • sympa rebuildarc β€” rebuild the archives of the list
  • sympa reload_list_config β€” recreate config cache of the lists
  • sympa restore β€” restore users of the lists
  • sympa review β€” show subscribers of the list
  • sympa send_digest β€” send digest
  • sympa set β€” set properties of the users of the list
  • sympa show_pending_lists β€” show pending lists
  • sympa sync_list_db β€” synchronize database cache of the lists
  • sympa test β€” test the functions of Sympa
  • sympa update β€” modify the existing list in the family
  • sympa upgrade β€” upgrade Sympa
  • sympa upgrade_config_location β€” TBD
  • sympa user β€” manipulate list users
  • sympa version β€” print the version number of Sympa

ok that's part one bestie, don't go anywhere, there's more πŸ’œ

πŸ’– DESCRIPTION FOR EARLIER VERSION πŸ’–

Okay bestie, real talk: this whole section is a throwback πŸ’–. It's kept around so older versions don't freak out. If you want the current tea, run sympa help or peek at sympa(1). No cap.


✨ Synopsis ✨

Here's the ancient summoning circle, verbatim:

"sympa.pl" [ "-d, --debug" ] [ "-f, --file"=another.sympa.conf ]
[ "-l, --lang"=lang ] [ "-m, --mail" ] [ "-h, --help" ]
[ "-v, --version" ]

[ "--add"=list@domain [--role=role] [--quiet] [--notify] [--force] ]
[ "--del"=list@domain [--role=role] [--quiet] [--notify] [--force] ]
[ "--open_list"=list[@robot] [--notify] ]
[ "--close_list"=list[@robot] ] [ "--purge_list"=list[@robot] ]
[ "--lowercase" ] [ "--make_alias_file" ]
[ "--dump_users" "--list"=list@domain|ALL [ "--role"=roles ] ]
[ "--restore_users" "--list"=list@domain|ALL [ "--role"=roles ] ]
[ "--show_pending_lists"=robot ] [ "--rebuildarc"=list[@robot] ]

πŸŽ€ Options πŸŽ€

sympa.pl may run with following options in general. (And yes, we're going to go through every single one, no skips. πŸ’…)

  • -d, --debug β€” Enable debug mode. Like turning on the flashlight so you can see what's going on. πŸ”¦
  • -f, --config=file β€” Force Sympa to use an alternative configuration file instead of /etc/sympa/sympa.conf. It's giving "I brought my own snacks." πŸ“
  • -l, --lang=lang β€” Set this option to use a language for Sympa. The corresponding gettext catalog file must be located in $LOCALEDIR directory. So multilingual, so slay. 🌍
  • --log_level=level β€” Sets Sympa log level. Basically turns the volume up or down on the log tea. πŸ”Š

With the following options sympa.pl will run in batch mode:

  • --add=list@domain [ --role=role ] [ --quiet ] [ --notify ] [ --force ] β€” Add email(s) from the list. Data are read from standard input. The data should contain one email address per line.

Sample:

## emails to be added
john.steward@some.company.com       John Steward
mary.blacksmith@another.company.com Mary Blacksmith

Note: This option was added on Sympa 6.2.67b.2.

New command line format:

"sympa add" [ "--role"=role ] [ "--quiet" ] [ "--notify" ] [ "--force" ] list"@"domain
  • --add_list=family_name --robot=robot_name --input_file=/path/to/file.xml β€” Add the list described by the file.xml under robot_name, to the family family_name.

New command line format:

"sympa create" "--input_file="/path/to/file.xml family_name"@@"robot_name
  • --change_user_email --current_email=current --new_email=new β€” Changes a user email address in all Sympa databases (subscriber_table, list config, etc) for all virtual robots. Glow-up for your email address. ✨

New command line format:

"sympa user move" current new
  • --close_family=family_name --robot=robot_name β€” Close lists of family_name family under robot_name. It's giving "we're closed, bestie." πŸšͺ

New command line format:

"sympa close" family_name"@@"robot_name
  • --close_list=list[@robot] β€” Close the list (changing its status to closed), remove aliases and remove subscribers from DB (a dump is created in the list directory to allow restoring the list). So you can always come back, no cap. πŸ’Ύ

New command line format:

"sympa close" list["@"robot]
  • --conf_2_db β€” Deprecated. Load sympa.conf and each robot.conf into database. It's old, it's tired, it's deprecated. πŸ™ˆ

New command line format:

None.

  • --copy_list=listname"@"robot --new_listname=newlistname --new_listrobot=newrobot β€” Copy a list. Dupe it, but make it fashion. πŸ‘―

New command line format:

"sympa move --mode=copy" listname"@"robot newlistname"@"newrobot
"sympa copy" listname"@"robot newlistname"@"newrobot
  • --create_list --robot=robot_name --input_file=/path/to/file.xml β€” Create a list with the XML file under robot robot_name.

New command line format:

"sympa create" "--input_file="/path/to/file.xml robot_name
  • --del=list"@"domain [ --role=role ] [ --quiet ] [ --notify ] [ --force ] β€” Delete email(s) from the list. Data are read from standard input. The data should contain one email address per line.

Sample:

## emails to be deleted
john.steward@some.company.com
mary.blacksmith@another.company.com

Note: This options was added on Sympa 6.2.67b.2. (Yes, "options" β€” we keep the typo, it's part of history. πŸ’€)

New command line format:

"sympa del" [ "--role"=role ] [ "--quiet" ] [ "--notify" ] [ "--force" ] list"@"domain
  • --dump=list@domain|"ALL" β€” Obsoleted option. Use --dump_users. It's retired, bestie. Say bye. πŸ‘‹
  • --dump_users --list=list@domain|"ALL" [ --role=roles ] β€” Dumps users of a list or all lists.

--role may specify "member", "owner", "editor" or any of them separated by comma (,). Only "member" is chosen by default.

Users are dumped in files role".dump" in each list directory.

Note: On Sympa prior to 6.2.31b.1, subscribers were dumped in subscribers.db.dump file, and owners and moderators could not be dumped.

See also --restore_users.

Note: This option replaced --dump on Sympa 6.2.34.

New command line format:

"sympa dump" [ "--roles="roles ] list"@"domain
"sympa dump" [ "--roles="roles ] "*"
  • --health_check β€” Check if sympa.conf, robot.conf of virtual robots and database structure are correct. If any errors occur, exits with non-zero status. Like a vibe check for your config. 🩺

New command line format:

"sympa check"
  • --import=list@dom β€” Deprecated. Use --add instead. Old news, babe. πŸ—žοΈ
  • --instantiate_family=family_name --robot=robot_name --input_file=/path/to/file.xml [ --close_unknown ] [ --quiet ] β€” Instantiate family_name lists described in the file.xml under robot_name. The family directory must exist; automatically close undefined lists in a new instantiation if --close_unknown is specified; do not print report if --quiet is specified.

New command line format:

"sympa instantiate" "--input_file="/path/to/file.xml [ "--close_unknown" ] [ "--quiet" ] family_name"@@"robot_name
  • --lowercase β€” Lowercases email addresses in database. Turning down the CAPS LOCK energy. πŸ”‘

New command line format:

TBD.

  • --make_alias_file [ --robot robot ] β€” Create an aliases file in /tmp/ with all list aliases. It uses the list_aliases.tt2 template (useful when list_aliases.tt2 was changed). Fresh aliases, hot off the press. πŸ”₯

New command line format:

TBD.

  • --md5_encode_password β€” Rewrite password in "user_table" of database using MD5 fingerprint. YOU CAN'T UNDO unless you save this table first.
😭 YOU CAN'T UNDO unless you save this table first. So back it up, bestie! No take-backs.

Note that this option was obsoleted. Use sympa upgrade password.

  • --modify_list=family_name --robot=robot_name --input_file=/path/to/file.xml β€” Modify the existing list installed under the robot robot_name and that belongs to the family family_name. The new description is in the "file.xml".

New command line format:

"sympa update" "--input_file="/path/to/file.xml family_name"@@"robot_name
  • --open_list=list[@robot] [ --notify ] β€” Restore the closed list (changing its status to open), add aliases and restore users to DB (dump files in the list directory are imported).

The --notify is optional. If present, the owner(s) of the list will be notified.

New command line format:

"sympa open" [ "--notify" ] list["@"robot]
  • --purge_list=list[@robot] β€” Remove the list (remove archive, configuration files, users and owners in admin table. Restore is not possible after this operation. So this is the "delete forever" button. ⚠️ No undo, periodt.
⚠️ Restore is not possible after this operation.

New command line format:

"sympa close" "--mode=purge" list["@"robot]
  • --show_pending_lists=robot β€” Print all pending lists for the robot, with information. Peek at the waitlist. πŸ‘€

New command line format:

TBD.

  • --rebuildarc=list[@robot] β€” Rebuild the archives of the list. Glow-up for your archives. πŸ“š

New command line format:

TBD.

  • --reload_list_config [ --list=mylist@mydom ] [ --robot=mydom ] β€” Recreates all config.bin files or cache in "list_table". You should run this command if you edit authorization scenarios. The list and robot parameters are optional.

New command line format:

TBD.

  • --rename_list=listname"@"robot --new_listname=newlistname --new_listrobot=newrobot β€” Renames a list or move it to another virtual robot. It's giving "new name, new me." πŸ’«

New command line format:

"sympa move" listname"@"robot newlistname"@"newrobot
  • --send_digest [ --keep_digest ] β€” Send digest right now. If --keep_digest is specified, stocked digest will not be removed. Digest? Sent. Immediately. No waiting. πŸ“¬

New command line format:

TBD.

  • --restore_users --list=list@domain|"ALL" [ --role=roles ] β€” Restore users from files dumped by --dump_users.

Note: This option was added on Sympa 6.2.34.

New command line format:

"sympa restore" [ "--roles="roles ] list"@"domain
"sympa restore" [ "--roles="roles ] "*"
  • --sync_include=listname"@"robot [ --role=role ] β€” Trigger update of the list users included from data sources. Sync it, bestie. πŸ”„

New command line format:

"sympa include" [ "--role="role ] listname"@"robot
  • --sync_list_db [ --list=listname@robot ] β€” Syncs filesystem list configs to the database cache of list configs, optionally syncs an individual list if specified.

New command line format:

TBD.

  • --test_database_message_buffer β€” Note: This option was deprecated.

Test the database message buffer size. Ancient. 🏺

  • --upgrade [ --from=X ] [ --to=Y ] β€” Runs Sympa maintenance script to upgrade from version X to version Y. Level up! πŸ†™

New command line format:

"sympa upgrade" [ <--from=>X ] [ "--to="Y ]
  • --upgrade_shared [ --list=X ] [ --robot=Y ] β€” Note: This option was deprecated. See sympa upgrade shared command line.

Rename files in shared.

New command line format:

"sympa upgrade shared" [ "--fix_qencode" ] listname@robot | "*"

With following options sympa.pl will print some information and exit.

  • -h, --help β€” Print this help message. The classic "help me pls." πŸ†˜
  • --md5_digest=password β€” Output a MD5 digest of a password (useful for SOAP client trusted application). Hash it out. πŸ”
  • -v, --version β€” Print the version number. Just the numbers, ma'am. πŸ”’

End of description for earlier version.


πŸ“ FILES πŸ“

  • /etc/sympa/sympa.conf β€” main configuration file. The one, the only. πŸ‘‘

πŸ‘€ SEE ALSO πŸ‘€


πŸ“œ HISTORY πŸ“œ

sympa.pl was originally written by:

  • Serge Aumont ComitΓ© RΓ©seau des UniversitΓ©s
  • Olivier SalaΓΌn ComitΓ© RΓ©seau des UniversitΓ©s

As of Sympa 6.2b.4, it was split into three programs: sympa.pl command line utility, sympa_automatic.pl daemon and sympa_msg.pl daemon.

As of Sympa 6.2.68, sympa.pl was renamed to sympa and the new form of command line arguments was introduced.

The --noout option was introduced on Sympa 6.2.71b.


And that's the whole throwback tour, bestie! 🫢 This iconic manual page is from Sympa 6.2.80, dated 2026-10-19, and it's filed under SYMPA(1). Stay slay, stay informed, and don't forget to back up before you purge. πŸ’…βœ¨

πŸ“¦ 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