Tom's Gravity Pages
[ HOME ] [ SITE INDEX ]

Hamster and Gravity

Hamster(c) Copyright 1998-2000 by Juergen Haible
This is an older page which has been updated
[ Skip to Hamster Configuration ]


NOTE: Hamster has changed since I wrote this. This page was written for Hamster Ver 1.3.15.0. Newer versions use another script (Vr.2). I wrote an updated Hamster Page for version 1.3.23.1. If you are using a new version that supports Hamster Scripts Vr.2 please go to the updated page.

Gravity can read email if it is translated to news format and posted to a news group. You can do that with Hamster, a third-party small local mail and news server. This page describes how to set up Hamster for this purpose. I don't want to give a new Gravity user the impression that they need to install Hamster. Most users will have no interest or need.

Be forewarned, configuration takes a little technical know-how and time (but hey I did it). If you are not familiar with basic network terminology and configuration files you may have a tough time. But, for the technically competent, it should be a breeze.

Note that Hamster has been updated (probably several times) since I wrote this page. I have not kept up with the revisions.

Also note that the information presented here is minimal and very basic. I really don't know much about Hamster. Hamster can do much more than is shown here and I have probably tweaked my configuration since I wrote this. If you are serious about using Hamster you should look elsewhere or use some of the sources referenced on the Hamster web pages. My instructions are based on version 1.3.15.0. I don't guarantee they will work. There are newer versions of Hamster.


What is Hamster?

Hamster is a local news (and mail) server. Local means it runs on your machine. Hamster does the connecting to the Internet. Gravity connects to Hamster like any other server. It can connect to another news server, or multiple servers, and pull in articles. Mail works the same way. You can connect to multiple mail servers and distribute the incoming mail or too newsgroups.

My main interest is that Hamster can direct mail to a local "newsgroup" thereby enabling you to read and score threaded email within Gravity, or any news reader. You can then apply Gravity's rules and scoring to the mail.

A screen shot of threaded email in Gravity (45k)

Another thing I use Hamster for is testing. I set up a test group and can post all the stuff I want and I don't even need to go online.

If you read a lot of isolated newsgroups on different servers you could consolidate them into one list on the local server and read them with Gravity without switching servers. Hamster will fetch the articles.

You simply point your news reader (like Gravity) to the local server (Hamster, in this case). Gravity connects to Hamster just like any other server. Hamster can pull from multiple servers and keeps the articles in one list, which is an advantage for readers that cannot handle multiple servers. Hamster retrieves the article bodies and so enables an on-line reader to act like an off-line reader.

Thanks to John Moreno, who suggested that Gravity might be able to read email with Hamster.


Why would I use it when I already have Gravity?

Most Gravity users will have no need for it. Gravity handles both multiple news servers and off-line reading quite well. Like I said, the main use I can see is for threading email. I like it for large mail lists but not for my day-to-day mail. I have one email address that I check with Hamster and I use that one for lists and non-personal stuff. I have a group for each mail list. I also use Hamster for testing rules and regular expressions.

Another reason why you might want it is that you can keep groups from multiple servers in one list. In fact, I think you can have Hamster fetch the same group from several different servers (Hamster won't duplicate) filling in any article gaps. You can also post to different servers. These features don't do much for me, but they might be useful to somebody.


Ok, tell me the negatives.

Hamster has to fetch the article bodies. This means you will need a lot of disk space if you want to work with multiple groups of any size, or with binary groups.

Regarding mail, it won't do HTML or MIME, at least I don't think so. Some of this may be Gravity's limitations but some is Hamster. So, if you rely on mail with a lot of rich text and HTML you will be disappointed.


Where can I Download Hamster?

Hamster is now maintained by Thomas G. Liesner

UPDATED LINK: http://www.tglsoft.de/

These are old:
German Page: http://home.t-online.de/home/juergen.haible/
English Page: http://home.t-online.de/home/juergen.haible/english.htm


How do I set this #@$! thing up?

These instructions are only to get you started. Hamster has lots of configuration doo-dad thingeys. We will set up a newsgroup for threaded email.

Hamster's address is always 127.0.0.1 (or localhost, but use the IP). It is the same for local NNTP or SMTP or POP servers.

Lets get started. If you did not download the zip file, get it now.


[*]
postto(hamster.email) Any-Recipient: "email-1@mediaone.net"

postto(hamster.email) Any-Recipient: "email-2@mediaone.net"

postto(hamster.email) Any-Recipient: "nfn03862@naples.net"

postto(hamster.gimp-win) Any-Recipient: "gimpwin-users@egroups.com"

postto(hamster.gimp-user) Any-Recipient: "gimp-user@xcf.berkeley.edu"


# A comment starts with hash, you perl or shell hackers
#      will be right at home.
#
# This script gets the mail, but it is distributed
#   according to MailFilt.hst
#   Ok, Get mail from first account

fetchmail "pop.myserver.net" "pop3" "" "" "admin,MailFilt.hst" 

# wait until task is finished (optional, depending)

wait.idle

# Get mail from second account
#     this should all be on one line
#     and user and password should be the real thing

fetchmail "pop.myserver.net" "pop3" "user" "password"
       "admin,MailFilt.hst"

You don't have to wait between tasks but I did, I guess because I am a linear thinker. I think Hamster will open several connections at once. But your ISP may have a limit. The mail is sent to the admin account and filtered with the default MailFilt.hst (but you can specify another filter file).

I run the script manually from the icon on the tray, or from the pull down menus, but you can set it to run at certain times (see the sample script below).


PLEEEZ show me more sample scripting!

Here are some sample commands. See Hamster's help for all commands.
# Anything commented out is not being used.
# This script must be run manually, it will 
#      check two email accounts (pop3) and distribute it. 
# If you want to see how to make it run at set  
#      intervals see the end of file.
# This one starts with old stuff, remember it is distributed
#      according to MailFilt.hst

fetchmail "pop.server.net" "pop3" "" "" "admin,MailFilt.hst" 

# wait until task is finished (optional depending)

wait.idle

# this should be one line
fetchmail "pop.server.net" "pop3" "user" "password"
     "admin,MailFilt.hst"

wait.idle

# ---------------- END SCRIPT ----------------- #
#
# ----- Read more for sample commands ----  #

# Here is how you can set Hamster to automatically
#   run this script over and over at a set time interval

# "wait.delay" to start over in thousandths of second
# So, to wait 10 minutes is 10 x 60 = 600 sec
#      600 sec x 1000 = 600000
#      or for 20 minutes, like this: 

wait.delay 1200000

# Restart means go to the beginning and start over again
# you need this to run the script again like this:

restart

# Here are other examples for other commands
# See Hamster's on-line help for other commands.  
# There are commands to connect and disconnect to your ISP

# This will start this script at 9:02 PM 

wait.until 21.02

# Something like this will start at 9:00 11:00 1:00 (PM)

wait.until 09:00 11:00 13:00

# Message box is annoying, it must be dismissed,
#    I turned it off quick!
msgbox "Hamster Executing Script"

Like I said this only a very basic setup. Read Hamster's documentation and study the configuration to learn more about setup, filters, scoring and scripting.

- Top of Page -