K9 - FAQ



K9 - Frequently Asked Questions

How do I change the server port number in Eudora?

If you are sure you are not using another program on your computer that listens on port 110, such as an antivirus program that checks your email for viruses, then you may be able to get away with a very quick change to K9 to get Eudora working. If this is the case, open K9 and go to the Configuration tab. In the Proxy section change the default port number in the Listen on port... area from 9999 to 110. Click the Apply button and that's it!

If you are not sure if you have another email filtering program setup on your computer then follow these instructions...

These steps work with Eudora 4.2 through 5.2.1.

  • Navigate to the directory where Eudora was installed. This is usually located at C:\Program Files\Qualcomm\Eudora.
  • Navigate into the ExtraStuff directory.
  • Highlight the file esoteric.epi and select Copy from the Edit menu.
  • Go back up one directory level into the main Eudora folder again and copy the esoteric.epi file there by selecting Paste from the Edit menu.
  • This file adds extra functions to the Options panel, including the option to change port numbers.

1. Setting up the Dominant Personality
  • Open Eudora, go to TOOLS: OPTIONS
  • Open the GETTING STARTED entry.
  • Change MAIL SERVER (Incoming) to 127.0.0.1
  • Change LOGIN NAME to (your pop server)/110/(your login name), e.g., pop-server.stny.rr.com/110/jjd
  • SMTP SERVER: use whatever entry dictated by your ISP.
  • Scroll down to the PORTS item. This screen allows you to change the port assignments in Eudora. Change the POP Port to the recommended default (e.g., K9 defaults to 9999).

2. Setting up NEW secondary personalities
  • Go to Tools: Personalities. This will open the Personalities window.
  • Move to the personalities window and right click to get a menu.
  • Select New. The New Account Wizard window will appear. Click NEXT.
  • Enter a name for this personality. Click NEXT.
  • Enter your name. Click NEXT.
  • Enter your email address. Click NEXT.
  • Enter the login: (your pop server)/110/(your login name), e.g., pop-server.stny.rr.com/110/jjd. Click NEXT.
  • Enter 127.0.0.1 for the Incoming Mail Server. Click NEXT.
  • Outgoing Email Server: Eudora automatically copies the Incoming server name to this screen. Change it to the outgoing server used by your ISP. Click NEXT.

3. Changing an existing personality (Main or secondary).
  • Go to Tools: Personalities. This will open the Personalities window.
  • Move to the personalities window and right click to get a menu.
  • Select Properties.
  • In the GENERIC PROPERTIES TAB, change Login Name to (your pop server)/110/(your login name), e.g., pop-server.stny.rr.com/110/jjd
  • Ensure your SMTP Server is what your ISP uses.
  • Select the INCOMING MAIL TAB.
  • Change the server entry to 127.0.0.1

These actions create the following key entries in the EUDORA.INI file:

  • POPAccount=pop-server.stny.rr.com/110/jjd@127.0.0.1
  • SMTPServer=smtp-server.stny.rr.com
  • PopServer=127.0.0.1
  • LoginName=pop-server.stny.rr.com/110/jjd

Entries for each additional personality is similar with "jjd" replaced by the user name.

What is the difference between K9 and POPFile?

POPFile is a general purpose email classification system written in the Perl scripting language. It was one of the first email classification systems to use Bayes theorem statistical analysis to determine how an email text message should be filtered based upon previous encounters with other email messages. Because POPFile is written in a scripting language it works on a number of different operating systems. The main interface to POPFile is through your web browser connected to POPFile's built-in web server.

K9 is also a Bayes theorem-based email classification program but it is specifically written to only differentiate between spam (junk) email and good email. It is written in C++ as a native Windows application and thus only works on Windows operating systems.

What are the advantages of K9 over POPFile and POPFile over K9?

If you are looking for a very small and fast spam filtering program that works on Windows operating systems and has a nice simple interface then K9 is a good choice.

If you are a little more technically savvy and are comfortable using web interfaces to control the program and don't care too much about speed or memory usage, or if you are interested in automatically categorizing your email into more than just spam and non-spam then POPFile may be for you.

How do I set the POP3 server port number in Netscape Navigator?

The trick is to add the port number after the server name with a colon. For a standard configuration the server name would therefore be 127.0.0.1:9999 and you'd change your username as described elsewhere in the K9 documentation.

Here's a screenshot of Navigator 4.80 showing the preferences for an email account.

What is the Server Check area and how/why do I use it?

The Server Check area does not need to be used during normal use of K9. It is simply an additional tool within K9 that can be used to examine emails on your email server - a kind of mini email program if you like. If you don't know if you should use it or you don't know how to use it then don't :-)

Does K9 support SSL?

No. K9 does not work directly with SSL over POP3 (usually TCP port 993) connections. However, you can use SSL if you combine a 3rd party product with K9. Take a look at the following link to find out how to achieve this.

http://www.kristensguide.com/Computers/K9/k9_with_stunnel_gmail.asp

Does K9 support Secure Authentication?

No. K9 does not currently support Secure Authentication, but it does offer support for APOP (See below).

Does K9 support APOP?

Yes, K9 supports basic MD5 APOP (RFC 1939). To configure K9 for use with APOP you need to enter details of the account(s) in the POP3 Server Check area of the Advanced tab. You do not need to actually enable the account in this section, you simply need to fill in the the regular server name, port, username and password so that K9 will know which password to associate with the provided account details when connecting to the remote server. The username in this section will be your normal username i.e. not the same format as used for K9 in your email program.

Multiple different APOP enabled accounts can be configured by adding more accounts to the Server Check section.

K9 is taking a long time to train and I'm not getting good results. How long should it take to learn?

Sometimes K9 can take a while before it settles down. It seems to depend on the number of emails you receive and the initial ratio of good to spam emails.

Many people have been able to steer K9 back on course by rebuilding the word databases. This can be done by clicking the appropriate button in the Statistics tab. Before you do this however, make sure that you have a good collection of emails in K9's Good and Spam folders. You can configure K9 to automatically file away emails into these folders through the Cleanup options on the Configuration tab (choose Organize) or you can manually move emails from the Recent Emails tab into the Good and Spam folders by clicking the Organize toolbar button.

Do I need to use the "Organize" button to train K9? What does it do?

No. K9 automatically "learns" as email passes through it on the way to your email program. There is nothing more you need to do other than correct the occasional mistake by selecting and re-classifying the individual emails.

The Organize button is simply used to file away emails into the Good and Spam folders for housekeeping purposes. If you have chosen to automatically Organize messages or if you have used the Organize feature manually by clicking the toolbar button you can opt to periodically remove emails from these folders by using the settings in the Cleanup section of the Configuration options.

Emails are only stored in the Good and Spam folders (as seen from the Archives area tab) for record keeping. These emails do not need to be kept in order for K9 to operate but a collection stored there can be useful if you want to re-build the word databases at some point.

How do I uninstall K9?

If you installed K9 using the installer EXE (as opposed to just downloading the ZIP file version) you can use the standard Control Panel Add/Remove program applet. The installer also places a Start menu entry for K9 that includes an uninstall link. This will remove all traces of K9.

If you have only ever downloaded the ZIP file version of K9 you can remove it by simply deleting the file K9.exe from the location you unzipped it to and also deleting the Emails folder. This will either be found at the same location as K9.exe or in your user-specific data directory (e.g. C:\Documents and Settings\\Application Data\K9). K9 also creates a registry key at HKEY_CURRENT_USER\Software\KeirNet\K9 that you can delete using RegEdit if you are comfortable using that.

Can I use K9 as a "server" on another computer?

It is possible to have K9 running on one computer and be able to connect to it from another. However, there is a good reason why this isn't easily accomplished: K9 learns from what you as the sole user of the program considers to be spam. This is one of the benefits of statistical email analysis -- it learns from the experience of you telling it what is and what is not spam. Obviously spam can be subjective; what one person considers spam may not be considered so by another. If 2 or more people are using the same K9 database there is potential for mismatched learning.

If you are prepared to battle over what should and should not be considered spam then here's how to setup K9 to listen for connections from another machine. It involves editing a registry key so if you are not comfortable in doing that I suggest you don't try this.

  • On the machine on which you have installed K9 use Regedit and go the key at HKEY_CURRENT_USER\Software\KeirNet\K9
  • If the name ProxyListenIP does not exist at this location create it by adding a new string entry.
  • For the item value enter the IP address or computer name of the machine you are now using. Note that the IP address/computer name can only be a non-routable IP address such as 10.0.0.0 or 192.168.1.100. K9 will refuse to listen on an IP address that can be contactable from the Internet.
  • On the other computers that want to talk to K9, you must replace the 127.0.0.1 server address as described in setting up your email server with the IP address of the machine on which you have installed K9.

As an example, suppose I want to run K9 on the machine that has the IP address of 192.168.1.100. You'd install K9 as usual on that machine. You'd edit the registry value as described above so that the ProxyListenIP value says 192.168.1.100. Then, back on your own machine, you'd change your email program settings as described on this page except instead of specifying 127.0.0.1 as the IP address of the POP3 server you'd enter the IP address 192.168.1.100

Do I have to uninstall K9 before installing a new version?

No. Simply install the new version over the old version. You won't lose any information or training

Will you add a bounce email feature to K9?

No :-)

Spammers forge their sending addresses as a policy. Your bounces typically do not go back to the spammer. A single spammer can send out hundreds of thousands or even millions of emails each each day, and that's just one spammer. If 0.1% of the recipients bounce their spam, some poor fool who's email address has been forged will have their email box rendered inert. If you get 3 - 4 spams then you and a few million other people got the same spam. If you and the rest of 0.1% of them send a bounce to that innocent person listed in the headers as the sender you are basically mailbombing someone who had nothing to do with the spam.

Forging a header with the email address of someone who has taken the personal initiative to fight spam at an effective level is common. It is common enough to actually have a name. It's called a Joe Job. The term comes from Joe Doll of Joes.com who in 1996 kicked a spammer off his service for sending spam. The spammer then found another service and forged Joe's email address in the headers. People who were too ignorant to understand that the sender IP address did not resolve to the mail server for Joes.com DOSed his server. His server folded under the load, and he went out of business a year later.

How do I transfer K9 to another computer? What files need to be copied?

All of K9's files will be found under the Emails directory. Depending on your operating system this directory may be in the same location at which you have installed K9 (usually at C:\Program Files\KeirNet\K9\Emails) or else under your C:\Documents and Settings\\Application Data folder. The two most vital files are found in the DB directory and are called good.dat and spam.dat. These 2 files hold K9's knowledge. From version 1.28 on you can quickly navigate to the appropriate directory by going to the K9 Statistics tab and clicking the View Folder button. In prior versions, the Statistics page will show you where the files are located in the Word Databases section.

If you have setup a whitelist or blacklist you need to copy the blacklist.txt and whitelist.txt from the DB directory.

The statistics are stored in the registry. If you want to transfer these you should export the registry branch at HKEY_CURRENT_USER\Software\KeirNet\K9 and import it on the new machine.

All the emails from my Recent Emails list seem to have disappeared.

There was a bug in K9 version 1.20 and 1.21 that could have lead to K9 into looking in the wrong location for the emails. To quote from the K9 mailing list notice at the time this occurred:

If you have recently installed or updated K9 and your Recent Emails window appears empty or you never see any emails in the window despite the program apparently working otherwise correctly, you may be suffering from the problem just mentioned.

The simplest way of fixing it is to use the registry editor and change an entry in the K9 section. For this, you will need to know where your K9 Emails directory is (or should be). If you used K9 prior to version 1.20 this will most likely be at

C:\Program Files\KeirNet\K9\Emails

If you only started using K9 at or after version 1.20 it is probably easier to uninstall it and install this new version since K9 will probably not have had much time to "learn" yet. If this is the case you can ignore the following information.

  • Exit K9
  • After you have located your K9 emails directory, run RegEdit as follows:
  • Click the Start button, select "Run..." and type in "regedit".
  • When RegEdit starts, drill down to the entry at HKEY_CURRENT_USER\Software\KeirNet\K9
  • Click on the K9 entry in the left pane and in the right pane you should see a large list of values, amongst which is an entry called "EmailsPath".
  • Double-click the word "EmailsPath" in the right pane and in the value data field that pops up enter the full Emails directory path as described above.
  • Exit Regedit.

I want to change the threshold at which K9 considers email spam.

I did originally have the spam percentage threshold available as an option in the configuration settings but eventually removed it due to concerns over people changing it and suffering adverse effects, or simply people playing around with it without realizing what they were doing!

You can actually change this value but it requires editing an entry in the registry. If you feel like playing with RegEdit, do the following:

  • Exit K9
  • Go to HKEY_CURRENT_USER\Software\KeirNet\K9
  • In the right side window locate the value called SpamThreshold
  • Double-click on this name and change the value to the number you desire.
  • The default value is 50 (decimal), signifying 50%.

There are 2 other values you should be aware of - ClassifyGoodThreshold and ClassifySpamThreshold, set to 20 and 80 respectively. These values represent the value a re-classified email will try to achieve. For example, setting a spam email to be "Good" will endeavor to make it 20%, whilst changing a good email to spam will attempt to make it at least 80%.

So if you do change the SpamThreshold to something below the ClassifyGoodThreshold or above the ClassifySpamThreshold, be sure to also change these values such that they are at least (or at most) the same as SpamThreshold.

Making changes to K9's registry entries is not something I generally recommend, so if you find that it doesn't work correctly after playing around "behind its back" don't come crying to me for help!

I'm having problems receiving emails. How can I find out what's wrong?

Firstly, ensure you have the latest version of K9. It is in continual development and features are added often and bugs resolved.

Starting with version 1.24 I added the ability to log detailed communications data to a file that can be used to help track down problems associated with receiving emails. To enable this option use the Log session debugging data to file "debug.txt" checkbox on the Configuration page.

With the debugging option enabled, attempt to reproduce the problem you are experiencing by trying to download your emails as usual. If the problem can be duplicated, turn off the debugging option, exit K9 and locate the file called debug.txt and email it to me. This file is located in the K9 Emails\DB directory. This will normally be found at

C:\Program Files\KeirNet\K9\Emails\DB

You can find the location of your Emails directory by looking to see where the K9 database files are stored on the Statistics page.

How do I configure K9 to work with my antivirus program?

Many antivirus products automatically intercept email traffic to your computer with no changes required to your email programs. However, many still use a "proxy" mode, similar to how K9 operates, that requires changes in your email program settings to tell it to use the antivirus program to check your emails.

If you are concerned that your antivirus program is not seeing emails containing viruses because of changes you have made to your email program in combination with K9, the easiest thing to do is...

  • Temporarily disable your antivirus program email checking option.
  • Configure your email program to work with K9.
  • Re-enable your antivirus program email checking option.

This way your AV program should pick up the correct K9 settings from your email program and adjust them to point to the AV program.

I'm afraid I don't have any further details on how to configure particular antivirus applications. I use NOD32 which I find very reliable and it analyzes emails for viruses transparently with no changes required to either my email program or K9.

K9 doesn't seem to want to show its window when I click on the icon.

It is possible that some of K9's registry entries have become corrupted resulting in the restored window position being invalid. To fix this perform these steps:

  • Exit K9.
  • Click on the Start menu button.
  • Select Run... and type in regedit and click OK.
  • Drill down to HKEY_CURRENT_USER\Software\KeirNet\K9
  • On the right-hand side window scroll down and locate the entries called WindowX, WindowY, WindowW, WindowH.
  • For each of those 4 entries highlight the item and press the Delete key to delete it.
  • Exit RegEdit and restart K9.

Do I need to keep all of those emails in the Archives area? What is the Archives area used for?

The Archives area messages are not required for the normal operation of K9. They are simply where K9 keeps a copy of older emails in case you ever need to refer to one but the main purpose is to enable the re-building of K9's databases (see the Statistics page) should you ever need to do so. This way, K9 wouldn't have to re-learn from scratch - it would have a known quantity of good and spam email to start from. You normally would only need to rebuild the databases if K9 had become very inaccurate or something else had happened to cause it to malfunction.

It is preferable to keep the number of messages in the Archives area down to a manageable number - something like 500 in each. You can set K9 to do this automatically by using the Cleanup and Storage functions on the Configuration page.

K9 seems to use a lot of CPU/memory, slowing down my other programs. Can I fix this?

Usually K9 is pretty efficient with its processing. However, depending on several factors it can consume a lot of horsepower for small periods of time. To help minimize these problems follow these steps.

Make sure your Recent Emails list is kept reasonably short. Use the Cleanup and Storage options on the Configuration page to keep this list trimmed.

The same applies to the Archives area lists. Again, use the Cleanup and Storage options to ensure that the lists never grow too large. Keeping about 500 emails in the lists should be adequate in the event you want to rebuild your databases at some point in time (see the answer above regarding the Archives area) and even fewer can still be useful.

For slower computers or situations where you want to keep K9 running but minimize its CPU usage, select the Lower CPU priority when minimized option on the Advanced page.

To further help reduce the amount of CPU used, select the option On new email arrival only score new (bold) emails. This has the effect of greatly reducing the number of emails that K9 scores when new emails arrive. Normally K9 would re-score the entire list of Recent Emails after new emails arrive. This is only done for visual purposes since the score of older emails change when new ones arrive. If you are only concerned with the scores of newly arrived emails, select this option - it won't have any effect on K9's accuracy.

Lastly, if K9 seems sluggish when new emails are arriving it could be due to the DNS blacklist processing where K9 has to query a server on the Internet to determine whether an email belongs to a DNSBL list. If you have this option enabled (see the Advanced page Blackhole List option) and you have a slow Internet connection you may want to consider disabling this option.