Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.



The Synchronet ListGate module (exec/listgate.js) allows a sysop to gate one or more sub-boards (message areas) with existing, remotely hosted, Internet mailing lists.


The Synchronet ListGate requires Synchronet v3.12 or later.

How it works

The Synchronet ListGate module actually only handles the exporting of new messages posted to the local sub-board to the mailing list (sent as SMTP e-mail messages). The importing of messages from the mailing list is handled by a special feature of the Synchronet Mail server which allows messages received for specific addresses to be posted to local sub-boards.


1. If you haven't already, create the message area (sub-board) in SCFG that you want to gate with an existing mailing list. Be sure to make a note of the configured “internal code”.

If you set the access or posting requirements, you'll need to append OR USER=0 to the requirements string(s) to allow posts from unauthenticated SMTP clients (see Access Requirements for details).

2. Edit or create your ctrl/listgate.ini file, creating a separate section for each sub-board that will be gated. Example (if “mysub” is the internal code for the gated sub-board and is the BBS's public host or domain name for receiving e-mail):

      to =
      from =

If the line disabled=true is included in the file, remove it to enable the listgate.

3. Edit your ctrl/alias.cfg file, adding a line to accept submissions from the mailing list as posts to the locally gated sub-board:

 listname sub:mysub

This will redirect any SMTP e-mail messages received for as posts to the sub-board “mysub”.

4. Configure your account on the list server (if you can) to not “echo back” any submissions received from you. This will prevent the dreaded “dupe loop” you would otherwise encounter.

The listgate module will automatically not export any messages that were posted via SMTP (preventing any “dupe loop” from the BBS to the list).

5. Setup a timed event (in SCFG->External Programs->Timed Events) to run the command-line ?listgate.js periodically. This will export any new messages in the sub-board(s) configured in listgate.ini as e-mail submissions to the mailing list.

6. Make sure that SCFG->System->Security Level Values->Level 0->Posts Per Day is set to a non-zero value and high enough to accommodate the maximum number of expected postings per day from the mailing list.


The export pointers are kept in the file data/subs/code.listgate.ptr, where code is the sub-board's internal code.

You can execute ?listgate.js -u to update the export pointers *without* actually exporting any existing messages to the list, or you may execute ?listgate -r to reset the export pointers, so that *all* the existing messages in the sub-board will be exported to the mailing list (even if they were previously exported).

See Also