Special Tristero lists can be set up to respond to any user's message with a standard set of files, or execute a standard set of listbot commands.
This feature makes use of the Executable type of Tristero list. These can work in two different ways:-
A message is returned to the user with a set of attached files. The list of the files to be attached is a simple ASCII file, named FILELIST.TXT, held in the archive directory of the list. This can be placed there directly by operating system access, or sent remotely using the Tristero listbot PUT command.
If the files listed are simple filenames, they will be taken from the list's archive directory. Full path-names may also be specified, in which case they should be specified from the perspective of the PC executing the Tristero server. Note that the security limitations on which files may be attached is equivalent to the security rights of the Tristero server PC. For this reason, only privileged users may actually write to this file.
Tristero looks for a file called LISTBOT.TXT in the appropriate list's archive directory, and executes each listbot command it finds in the file, just as if they had been sent to the Tristero list robot in the standard fashion. This feature can also be used as a macro facility, to allow administrators to quickly execute a whole list of commands.
Executable lists default to a similar security mechanism to closed lists. Non-members have no rights, not even to subscribe; members have the right to receive files and execute listbot commands only. Administrators may give access to users either by adding them to the list as members, using the standard ADD command, or by using a GRANT command to give access to everyone or to a whole group of users.
e.g., to allow everyone to retrieve documents on demand from a list:
GRANT W TO * FOR CorporatePolicyRequest
e.g., to
allow a user to see who can receive documents from a list: GRANT M TO
* FOR CorporatePolicyRequest
The Tristero command robot can accept parameters sent to it in a specified manner from World Wide Wev forms and CGI scripts. This interface makes use of the mailto: action supported directly by some browsers for web form submission (it is also possible to mimic this operation using scripting for browsers which do not internally support this action. The mailto action requires no CGI-BIN scripts, no Web server configuration, no need to expose the Tristero server to the Internet itself.
Two methods of passing parameters are supported:-
cgi?action=subscribe&list=new-list@tristero.maincorp.com
N.B. The Tristero listserver must be directly addressable as a
post office from the Internet for this to function, since the CGI parameters
are passed as part of the e-mail address, which cannot be matched by the
cc:Mail directory for the purposed of mail routing. Also, if internet
addresses are passed as parameters, the "@;quot; sign must be escaped
according to the standard CGI specification.
Tristero supports 4 possible parameters, each of which has a shorter synonym to make maximum use of the 126 characters maximum cc:Mail user name. Each parameter is separated by an &, all spaces are replaced by + signs, and special characters escaped (i.e.replaced with their hexadecimal ASCII value prefixed by a '%'):-
| Parameter | Synonym | Sample |
|---|---|---|
| Action | 1 | Subscribe, ADD, INFO |
| List | 2 | new-list, tristero-l |
| Address | 3 | Joe+User+At+Silver+HQ |
| Option | 4 | HIDE, Closed |
Tristero strings the paramters together into a standard ListBot command line, in the following order:-
Action List Address Option
Using this method, any of the standard ListBot commands may be passed by this mechanism, as in these examples:-
| Parameters | Command Line |
|---|---|
| action=Subscribe&List=sales-west | SUBSCRIBE sales-west |
| 1=Subscribe&2=sales-west | SUBSCRIBE sales-west |
| action=SET&List=sales-west&option=NOMAIL | SET sales-west NOMAIL |
| action=Subscribe&List=sales-west | SUBSCRIBE sales-west |
| action=ADD&List=news-l&Address=New+User+At+Sales&Option=Hide | ADD news-l New User At Sales HIDE |
| 1=ADD&2=news-l&3=New+User+At+Sales&4=Hide | ADD news-l New User At Sales HIDE |
| 1=SET&2=news-l&4=DIGEST+DAILY | SET news-l DIGEST DAILY |
Each CGI post received will be logged in the standard Tristero LOG file and statistics maintained for every execution. A sample Web form is supplied in the ZIP distribution file, sampform.htm.
Mailmerge support in Tristero allows customized messages to be sent to all members of a list. The message can have the date and/or time of posting, the name of the list, the list owner, recipient's current security rights and more automatically included and merged into the text. This can have many uses in daily server management - as the example below illustrates - and also for personalizing business mail shots.
Personalized mail may be sent to users by either:
In the body of the message itself, special "place-holder" values are entered where the name, date, list owner etc are to appear in the resulting messages.
Two different types of mail merge lists are supported:
Personal mail may also be used in non mail-merge scenarios, wherever individuals are to receive mail without learning of the other recipients, yet not having the impersonal BCC form of addressing.
N.B. Both Personal and Mass mail are highly inefficient compared to standard Tristero distribution methods. Because each outgoing message is unique, it must be sent out in a batch of its own, whereas usually Tristero can send one message to a 100 or more recipients at one time. Due to the consequence of greater transmission and storage volume associated with such mail, it is recommended that it is used only for mail merge or where it is imperative that mail be addressed personally.
Tristero supports the following placeholders in mail merge postings:
| %%A | actual address (full SMTP or cc:Mail) |
|---|---|
| %%B | listbot address for this server |
| %%C | recipient's first name |
| %%D | posting date |
| %%F | full address of user as held in INI file |
| %%G | gateway name of Tristero server |
| %%I | internet domain of Tristero server |
| %%K | new cookie for list & user within next 7 days |
| %%L | list name |
| %%N | recipient's full name |
| %%O | list owner |
| %%P | recipient's post office |
| %%R | recipient's access rights to this list |
| %%S | recipient's surname |
| %%T | time of posting |
| %%% | literal %% |
Mail merge can be combined with another Tristero feature - prebuilt listbot commands for replies. For example, you may wish to periodically unsubscribe all members of an Internet mailing list to remove dead or faulty addresses from the list, whilst at the same time giving members who wish to continue as members the chance to resubscribe. Such a policy can be used in conjunction with cookie protection of lists by using the "%%K" placeholder, which generates a unique cookie value for the given user and list, which is valid for all cookie-controlled functions for 7 days from the merge.
An example run of such a resubscription exercise, with cookie support, can be easily carried out by following these stages:
------------------------------------------------------------ To: africa-list-merge At Tristero-Server Subject: Please Reply To This Message To Resubscribe Contents: --- Dear %F In order to weed out old and faulty addresses from the %L list, all users have been automatically unsubscribed. If you wish to continue on this list, simply reply to this message, ensuring that you include this original message in the reply, and respond within 7 days. Yours Sincerely, %%O Owner of the %%L list [The commands needed to resubscribe are prebuilt for you below. There is no need to alter them, simply replying is sufficent] START COOKIE %%K SUBSCRIBE %%L STOP ------------------------------------------------------------
CLONE africa-list test-list
DESTROY africa-list
RENAMELIST
test-list africa-list
Set the reply type back to its original value:
SET africa-list PosterPlus
When users send back the reply with the original text included, the Tristero listbot will automatically pick out the commands at the bottom of the message and execute them to perform the subscription. Tristero will automatically sense and remove any Internet style "quotation" prefixes that the remote mail system inserts at the beginning of the original text in the reply (controlled by contents of QuoteChars setting).
The "---" at the very top of the mail is used to instruct the listbot to ignore all text until it finds the START command - this prevents the listbot attempting to interpret each line of the reply, and sending back unnecessary error messages back.