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.
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 mybbs.com
is the BBS's public
host or domain name for receiving e-mail):
[mysub] to = listname@listserver.com from = listname@mybbs.com
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 listname@mybbs.com
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).