====== ListServer ====== ===== Overview ===== The Synchronet ListServer (''[[dir:exec]]/listserver.js'') allows Internet e-mail clients to subscribe and (optionally) contribute messages to your local message bases using nothing but a standard Internet mail client (e.g. Outlook/OE, Eudora, Pine, etc.). ===== Requirements ===== The Synchronet ListServer requires Synchronet v3.12 or later. ===== How it works ===== The Synchronet ListServer works much like traditional Internet mailing list severs, such as "Majordomo" and "Listserv". The user of an Internet e-mail client "subscribes" to one of your mailing lists by sending an e-mail message to the address of your ListServer (typically "listserver@yourbbs.com"). In the body of the message (or optionally, the subject), the line "subscribe listname" must exist, where "listname" is the name of one of your mailing lists (as configured in your ''[[dir:ctrl]]/[[config:listserver.ini]]'' file, described later). Once subscribed, the user will automatically receive, in their mailbox, any messages posted in the message area (sub-board) corresponding to the mailing list. A user may unsubscribe from the mailing list by the same means but using the command "unsubscribe listname". The ListServer will respond to other "control messages" like these. A control message of "help" will return a list of valid commands to the requesting client's mailbox. ==== MIME ==== The ListServer does not at this time support the decoding of [[wp>MIME]]-encoded control message body text. The simplest solution to this issue is to only accept control commands in the //Subject// of control messages by configuring the following in the root section of your ''[[dir:ctrl]]/[[config:listserver.ini]]'' file: SubjectCommand = true BodyCommand = false MIME-encoded mailing list //submissions// (posted messages) are supported, however. ===== Submissions ===== Writable mailing lists allow the user to submit messages to the list by sending e-mail messages addressed to ''listname@yourbbs.com''. Submissions are automatically posted to the message area (sub-board) associated with the mailing list and forwarded to all mailing list subscribers. ===== Configuration ===== 1. If you haven't already, create the message areas (sub-boards) in SCFG that you want to make available as mailing lists. Be sure to make a note of the configured "internal code" associated with each sub-board you are going to associate with a list. 2. Edit your ''[[dir:ctrl]]/[[config:listserver.ini]]'' file: * creating a separate section for each mailing list and specifying the "internal code" of the associated sub-board using the ''sub'' key. See the stock ''[[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/ctrl/listserver.ini|listserver.ini]]'' for an example. * If you wish to allow control commands in the subject of messages addressed to the ListServer, set ''SubjectCommand = true'' in the [[:config:INI_files#root section]] of the file. * Set ''disabled = false'' in the [[:config:INI_files#root section]] portion of the file to enable the ListServer. 3. Edit your ''[[dir:ctrl]]/[[config:mailproc.ini]]'' file, adding (if you don't have it already) the following section: [listserver.js] to = listserver, listserv passthru = false Include in the "to" value the names of any writable (not readonly) lists from your ''listserver.ini'' file. Be sure to separate the names with commas. Example: to = listserver, listserv, listname1, listname2, etc. 4. Add the command-line of ''?listserver'' as a timed-event in [[util:SCFG]]->External Programs->Timed Events. This is necessary for the distribution of messages posted to sub-boards associated with mailing lists. 5. Recycle your mail server, if it didn't automatically recycle after saving your changes in SCFG in step 4. This is required to re-load your modified ''[[dir:ctrl]]/[[config:mailproc.ini]]'' file into the mail server. ===== Maintenance ===== The list of subscribers is kept in the file ''[[dir:data]]/subs/code.list.sub'', where ''code'' is the sub-board's internal code. There is currently no mechanism for removing subscribers with bad e-mail addresses, but there will be in the future. ===== See Also ===== * [[:config:listserver.ini]] * [[:config:mailproc.ini]] * [[:server:mail|Mail Server]] * [[:module:|Modules]]