====== ListGate ======

===== Overview =====

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


===== Requirements =====
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 [[:server:mail|Mail server]] which
allows messages received for specific addresses to be posted to local
sub-boards.

===== Configuration =====

1. If you haven't already, create the message area (sub-board) in [[util: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 [[access:Requirements]] for details).

2. Edit or create your ''[[dir:ctrl]]/[[config: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 ''[[dir:ctrl]]/[[config: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 [[util: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 ''[[config:listgate.ini]]'' as e-mail submissions to the
mailing list.

6. Make sure that [[util: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.


===== Maintenance =====
The export pointers are kept in the file ''[[dir: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 =====
  * [[:config:listgate.ini]]
  * [[:config:alias.cfg]]
  * [[:server:mail|Mail Server]]
  * [[:module:|Modules]]
