This guide is for system administrators who are installing customizing or managing Jeeves systems. Jeeves is an active anti-spam system which enable email users to control filter and respond to unsolicited email. Jeeves works in conjunction with normal POP and SMTP servers. The email users control Jeeves functions through a web page. Jeeves works by maintaining a list of known correspondents for each user. Email from people not on the list is held pending a successfull introduction. Jeeves automatically arranges for an introduction. The Jeeves user setup page allows users to set how Jeeves will handle introductions, how to handle unsolicited email etc. The Jeeves user setup web page is provided as a template file and a cgi which works with any standard web server. This allows easy customization of the Jeeves interface. If you are also using Netwin's CWMail or DMailWeb products then some additional functionality will be available to those users. For example CWMail users will be able to view unsolicited emails which are currently being held by Jeeves awaiting completion of an introduction.
The basic operation of Jeeves is as follows:
For each Jeeves user at some appropriate time Jeeves:
The details of this procedure will vary considerably depending on what features each user has selected but the basic operation is that Jeeves sits between the user and the world and only allows correspondence from acceptable people to be passed through to the user. Jeeves will respond to unsolicited emails and will provide reports to the user on the work it has been doing.
The introduction requests which Jeeves sends out may be very simple or quite complex to ensure email spam robots can't respond appropriately.
The interface between the user and Jeeves is provided by a series of template files. These can be used as is or modified to provide a particular look and feel which matches your other web pages.
Many aspect of Jeeves operation can also be tailored for use on a particular system these settings are all contained within the jeeves.ini file. This is a simple text file which can be edited with any standard text editor. The initial config setting are normally setup by the WMSetup wizard at installation time.
The following sections describe:
jeeves13a.exe # Unzip the self extracting archive to jtemp
cd \jtemp # Change to temporary unpack directory
Jeeves is often used with CWMail and/or DMailWeb. If you have already installed CWMail or DMailWeb omit step 1 as you dont need jcgi
You must install jcgi on your WEB server, in a
directory that you have already setup on your server
as containing CGI programs, you should read your
server documentation if you don't currently know
how to setup a cgi program, typically you would
copy the files to a directory like:
"\FrontPage Webs\Content\cgi-bin"
or c:\inetpub\scripts
or \SERVER_ROOT\cgi-bin
If you plan to customize the template files (most people do :-) then you should probably keep a copy of the original set so that you can later compare them with future releases.
This may save you much effort when adding new features into your customized set.
mkdir \jcgi # Create templates directory.
copy * \jcgi # Copy all jeeves files to this directory.
copy jcgi.* \inetpub\scripts # Copy cgi and ini to cgi's directory.
notepad \inetpub\scripts\jcgi.ini # Edit ini file and define:
pophost pop.your.domain
smtphost mail.your.domain
templates c:\jtpl
domain acme.com
NOTE: By default the user files are stored below the templates directory. Therefore the templates directory should not be in the web-pages tree as direct access to user files could be a security risk
cd \jtemp # Change to temporary unpack directory
mkdir \jeeves # Create a directory for jeeves
mkdir \inetpub\wwwroot\nwimg # Create a dircectory for img files
copy j*.gif \inetpub\wwwroot\nwimg # Copy jeeves image files
copy j*.jpg \inetpub\wwwroot\nwimg # Copy jeeves image files
copy * \jeeves # copy everything to a jeeves directory
copy jeeves.exe \winnt\system32
copy jeeves.ini \winnt\system32
copy j*.tpl \jcgi or \cwmail #copy template files
copy jdefault.dat \jcgi or \cwmail #copy default settings
Note: If you are using both CWMail and DMailWeb the last two copies need to be to both template directories.
cd ..
del .\jtemp # Clean out temporary directory
notepad \winnt\system32\jeeves.ini
Make sure you define the following things for your site
pophost pop.your.domain
smtphost mail.your.domain
mins_to_check 60
workarea \cwmail
or
workarea \dmailweb
or
workarea \jcgi
You need to tell CWmail/DMailWeb how to find the jeeves settings page so users can become Jeeves users. The best place to add links for jeeves settings are the config.tpl, configf.tpl and menubar.tpl pages. You will need to edit these files by adding a line like this to one of the forms:
<input type=image border="0" src="||nwimg||/jeeves.gif" name="jconf" alt="Jeeves Configuration">
NOTE: you will need to do this for both CWMail templates and DMailWeb templates, if you want user access to jeeves settings from both locations.
We have supplied three different image files jeeves.gif, jeeves.jpg and j.jpg, you could use any of these for links to jeeves settings.
cd \jeeves
addsvc -del Jeeves
addsvc -add Jeeves jeeves.exe "Jeeves active anti-spam system"
Now try referencing Jeeves settings from CWmail/DMailWeb (or jcgi) from any web browser using the url
http://your.web.server/scripts/cwmail.exe or
http://your.web.server/scripts/jcgi.exeYou can also check the Jeeves log file for any startup errors thus:
notepad \jeeves\jeeves.log
Please dont hesitate to contact support-cwmail@netwinsite.com if you have problems installing or configuring Jeeves.
If you need to remove jeeves for some reason go to the \jeeves directory and type the following:
cd \jeeves
addsvc -del Jeeves
Example:
cd \tmp
download the distribution set from netwinsite
uncompress jeeves13.tar # Uncompress tar file
tar -xvf jeeves13.tar # Extracts to jeeves sub-directory
cd jeeves # Change to temporary sub-directory
Jeeves is often used with CWMail and/or DMailWeb. If you have already installed CWMail or DMailWeb omit step 1 as you dont need jcgi
You must install jcgi on your WEB server, in a
directory that you have already setup on your server
as containing CGI programs, you should read your
server documentation if you don't currently know
how to setup a cgi program, typically you would
copy the files to a directory like:
/home/httpd/cgi-bin
If you plan to customize the template files (most people do :-) then you should probably keep a copy of the original set so that you can later compare them with future releases.
This may save you much effort when adding new features into your customized set.
mkdir /var/spool/jcgi # Create templates directory.
cp * /var/spool/jcgi # Copy all files to it
cp jcgi.cgi /home/httpd/cgi-bin # Copy cgi to cgi's directory.
cp -i jcgi.ini /home/httpd/cgi-bin # Copy ini to cgi's directory.
chown nobody /var/spool/jcgi* # Give cgi access to files
vi /home/httpd/cgi-bin/jcgi.ini # Edit ini file and define:
pophost pop.your.domain
smtphost mail.your.domain
templates /usr/local/jtpl
domain acme.com
NOTE: By default the user files are stored below the templates directory. Therefore the templates directory should not be in the web-pages tree as direct access to user files could be a security risk
mkdir /usr/local/jeeves # Create a directory for jeeves mkdir /home/httpd/html/nwimg # Create a dircectory for img files cp j*.gif /home/httpd/html/nwimg # Copy jeeves image files cp j*.jpg /home/httpd/html/nwimg # Copy jeeves image files cp * /usr/local/jeeves # copy everything to a jeeves directory cp j*.tpl /var/spool/cwmail # if using CWMail cp jdefault.dat /var/spool/cwmail # if using CWMail Note: If you are using both CWMail and DMailWeb the last two copies need to be to both template directories.
cd ..
del -r -f jeeves # Clean out temporary directory
vi /usr/local/jeeves/jeeves.ini
Make sure you define the following things for your site
For example :
pophost pop.your.domain
smtphost mail.your.domain
mins_to_check 60
workarea /var/spool/cwmail
or
workarea /var/spool/dmailweb
or
workarea /var/spool/jcgi
You need to tell CWmail/DMailWeb how to find the jeeves settings page so users can become Jeeves users. The best place to add links for jeeves settings are the config.tpl, configf.tpl and menubar.tpl pages. You will need to edit these files by adding a line like this to one of the forms:
<input type=image border="0" src="||nwimg||/jeeves.gif" name="jconf" alt="Jeeves Configuration">
NOTE: you will need to do this for both CWMail templates and DMailWeb templates, if you want user access to jeeves settings from both locations.
We have supplied three different image files jeeves.gif, jeeves.jpg and j.jpg, you could use any of these for links to jeeves settings.
cd /usr/local/jeeves
./jeeves
You will then need to add a line to the startup file to make sure jeeves is always run at system startup.
Now try referencing Jeeves settings from CWmail/DMailWeb (or jcgi) from any web browser using the url
http://your.web.server/cgi-bin/cwmail.exe or
http://your.web.server/cgi-bin/jcgi.exeYou can check the Jeeves log file for startup problems thus:
more /usr/local/jeeves/jeeves.log
Please dont hesitate to contact support-cwmail@netwinsite.com if you have problems installing or configuring jeeves.
The Jeeves distribution set contains the following files:
File | Function | Normally coppied to |
---|---|---|
addsvc.exe | Executable used during installation to add jeeves.exe as an NT service | \jeeves |
download.htm | Documentation Jeeves download sets | \jeeves |
error.tpl | Template for jcgi errors | \jcgi |
faqs.htm | Documentation: Answers to frequently asked questions | \jeeves |
index.htm | Documentation: Main Jeeves page | \jeeves |
install.txt | Installation instructions | \jeeves |
item.tpl | Template for jcgi used to display a held message | \jcgi |
j.jpg | Image for use in templates: J | \inetpub\wwwroot\nwimg |
jadmin.htm | Doucumentation for Jeeves system administrators | \jeeves |
jback.jpg | Image for use in templates: background Jeeves watermark | \inetpub\wwwroot\nwimg |
jcgi.exe | CGI Jeeves cgi used to serve web pages for Jeeves settings etc. | \inetpub\scripts |
jcgi.ini | Configuration file for jcgi | \inetpub\scripts |
jconfig.tpl | Template for jcgi used to display Jeeves user configuration settings | \jcgi |
jconfigf.tpl | Frames version of above | \cwmail or \dmailweb |
jdefault.dat | Default user setting for jeeves users | \jcgi or \cwmail or \dmailweb |
jeeves.exe | Executable. Jeeves background process for checking email, offering introductions etc. | \winnt\system32 |
jeeves.gif | Image for use in template files: Jeeves reading a paper | \inetpub\wwwroot\nwimg |
jeeves.htm | Documentation brief description of the Jeeves system | \jeeves |
jeeves.ini | Configuration file for Jeeves system | \winnt\system32 |
jeeves.jpg | Image for use in template files: Image of the word Jeeves |
\inetpub\wwwroot\nwimg |
jhelp.tpl | Template file containing user documentation on Jeeves | \jcgi or \cwmail or \dmailweb |
jlogin.jpg | Image of login button for use in login.tpl | \inetpub\wwwroot\nwimg |
jmenubar.tpl | Template file for use with CWMail. Example menubar for use with frames version of CWMail containing link to Jeeves settings page | \cwmail |
jnfmenu.tpl | Template file for use with jcgi. Used in list.tpl to provide links to other jeeves settings | \jcgi |
juser.htm | Documentation: Jeeves user manual. Explains all Jeeves settings. | \jeeves |
license.htm | License agreement in html | \jeeves |
license.txt | License agreement in text | \jeeves |
list.tpl | Template file for use with jcgi to display list of held messages or contents of trash folder | \jcgi |
login.tpl | Login template file for use with jcgi | \jcgi |
logout.tpl | Logout template file for use with jcgi | \jcgi |
ok.tpl | Template file for use with jcgi to display user messages. | \jcgi |
updates.htm | Documentation giving list of Jeeves release version and new features and bug fixes etc. |
Installing Jeeves will vary slightly depending wither or not you allready have a copy of CWMail or DMailWeb installed. If you already have CWMail or DMailWeb they will serve the jeeves template files instead of jcgi. The "templates directory" will already be defined if you have CWMail or DMailWeb installed otherwise it should be something like \jcgi
Normally Jeeves is run as a service on NT or detached on Unix. This is setup as part of the Jeeves installation.
It can be run as a command line program with the following options for testing:
Command Line option | Function |
---|---|
-version | Just return version number |
-run | Dont detach or run as a service and print logging msgs to screen |
-h or -? | List valid options |
The settings for each user are stored in juser.dat files one for each user. Each user has a directory which is a subdirectory of the template or work directory. So for example if the templates are stored in \cwmail a user ralph@myfirm.co would have a directory \cwmail\u_ra\ralph@myfirm.co which would contain a juser.dat file containing the jeeves settings for the user ralph. This is a text file which can be edited by the system administrator. The default settings come either from global ini file settings or from the default juser.dat file which is called jdefault.dat and is stored in the main template directory. The Jeeves default jdefault.dat file comes with the distribution set.
Symbol | Example | Explanation |
smtp_address | mail.your.domain | The name or IP number of your SMTP server that Jeeves uses to send mail through. |
check_mins | 30 | The time between each Jeeves filtering. |
report_days | 7 | The number of days between each Jeeves report. |
hold_days | 5 | The number of days Introduction Offers are stored before removed, including held messages. |
offer | see juser.dat file | This is the layout of the Introduction Offer messages when send out to a possible new friend. |
mpoh | see juser.dat file | This is the layout of the message send to the possible new friend when extra messages that are received are placed on hold. (Messages Placed on Hold) |
report | see juser.dat file | This is the layout of the report that Jeeves generates to send to the Jeeves user. |
nir | see juser.dat file | The layout of the message when Jeeves informs the Jeeves user that a Introduction Offer has been rely back to. (Notification of Introduction Received) |
ifoa | see juser.dat file | This is the layout of the message to the new friend informing him/her that s/he has been added to the list of friends. |
friend | lynden@netwinsite.com | This is the email address that is a friend and will allow the messages to pass through. |
gen_friends | *@netwinsite.com | This is the generic friends of the Jeeves user. Any wild card position is allowed. |
hostile | this@hotmail.com | This is the email address that Jeeves will automatically remove for the pop server for you. |
gen_hostile | *@hotmail.com | This is the generic hostile's of the Jeeves user. Any wild card position is allowed. |
General configuration settings are stored in jeeves.ini which must be in the same directory and have the same root name as the Jeeves executable. So if Jeeves is renamed xmail.exe then the configuration file will be xmail.ini
Symbol | Example | Explanation |
pophost | pop.your.domain | The name or IP number of your POP server |
smtphost | mail.your.domain | The name or IP number of your SMTP server |
list_header | X-Listserver | Headers which should be taken to indicate message is from a list server. Jeeves will not send introduction offers to list server messages. If message does not match a friend or hostile setting then Jeeves will either pass on or hold and delete the messages depending pass_list setting. |
pass_list | 1 | Default 0 if set to 1 then messages from list servers which dont match a friend or hostile will be passed on. If setting is 0 they will be placed on hold and later deleted. |
mins_to_check | 30 | The time between each Jeeves filtering |
mins_to_rebuild | 45 | The time between each Jeeves rebuilding the Jeeves Users database. |
report_subject | see ini file | The Subject header of any reports sent out by Jeeves to the user. |
nir_subject | see ini file | The subject header of the message that is Notifying the Jeeves user that an Introduction has been Received. |
nirm_subject | see ini file | The subject header of the message that is Notifying the Jeeves user that an Introduction has been Received, but there were no messages currently on hold. |
intro_rec_subject | see ini file | The subject header that Jeeves is expecting when a reply to a Introduction Offer is sent |
intro_offer_subject | see ini file | The subject header of the message that is sent out to a possible new friend giving and Introduction Offer. |
msg_held_subject | see ini file | The subject header of the message that Jeeves sends out to a person when a message is placed on hold. |
add_friend_subject | see ini file | The subject header of the message that Jeeves sends out informing the person that he has been placed on his friends list. |
workarea | /var/spool/cwmail | The work area where cwmail/dmailweb or jcgi stores its user.dat settings
for each user. This is usually the same as the templates directory as the work area
defaults to the template directory. Note a single Jeeves can handle multiple workareas, so
if you have several copies of CWMail (or DMailWeb) running on the same machine, all you
have to do is add one line for each in the ini file. e.g.workarea c:\cwmail workarea c:\cwmail2 workarea c:\dmailweb workarea c:\dmweb The workarea is the base directory where the user profiles are created and stored for CWMail and DMailWeb. In most cases this will be the same as the templates setting, as this is the default workarea for CWMail and DMailWeb. |
key | 2222-333-44-222 | Registration key |
These variables can be used in both jdefault.dat and juser.dat and can also be used when entering information into many of the fields in the config page.
Variable Name. | What it stands for. | Where it can be used. |
num_friends | The number of friends you have. | Report |
name_friends | A list of your friends. | Report |
num_genfriends | The number of (generic) friends you have. | Report |
name_genfriends | A list of your (generic) friends. | Report |
num_message_removed | The number of hostile messages removed since last report. | Report |
num_hostiles | The number of hostiles you have. | Report |
name_hostiles | A list of the hostiles you have. | Report |
num_genhostiles | The number of (generic) hostiles you have. | Report |
name_genhostiles | A list of the (generic) hostiles you have. | Report |
num_intro_sent | The number of introduction messages sent since last report. | Report |
num_intro | The total number of introduction messages sent. | Report |
intro_headers | A list of addresses to where introductions have been sent. | Report |
num_held_messages | The number of messages currently on hold. | Report |
held_messages | A list of from addresses for all the held messages. | Report |
friend_address | The Email address of the person who was added to your friends. | Intro recieved |
my_address | Your Email address. | Anywhere |
held_subject | The subject field of the held message. | On Hold, Intro Offer |
intro_req | The intro offer that is expected. | On Hold, Intro Offer |
intro_id | The intro ID that is expected | Intro Offer |
Note : The variables when used must be preceeded and followed by a double bar eg. ||my_address||.
The "Where it can be used." column describes where you can include these variable(s), "Report" is the report whick Jeeves sends to you outlining the work he has been doing, "Intro recieved" is the notification you recieve from Jeeves telling you of a friend who has joined your list of friends, "On Hold" is the notification you recieve from Jeeves telling you of messages placed on hold, and "Intro Offer" is the notification you recieve from Jeeves about any introductions he has sent to potential friends.