######FILE: README

!WARNING!

	Read the documentation FULLY and you will understand everything
	that you need to do in order to get this email software up and
	running.


Requirements:
	
	The following programs are required to be installed before FrozenPOP
	can be installed. The estimated time to install FrozenPOP is 5 minutes. 
	This is assuming you already have the following installed prior to the 
	installation.

	+ POSIX|UNIX|Linux system

		> This application has NOT BEEN TESTED on any other system
		> If you test it on your system, and you achieve good results
		  please contact me and tell me your configuration.

	+ Python 2.2.2 or greater
	
		> http://www.python.org
		> Standard installation
		> Installed in < 10 minutes

	+ MySQL	3.23.53 or greater

		> http://www.mysql.org
		> Standard installation
		> Installed in < 10 minutes

	+ MySQLdb Python Module

		> http://sourceforge.net/projects/mysql-python/
		> Easy to install, 5 minutes max.

	+ NSLOOKUP command

		> Comes standard on most linux systems

	If possible, try to install these from source packages rather than
	binary RPMs.

	If you have all of the above, from here on out getting setup is fairly easy.

Installing:

	First off, open the fconfig.py file. You should see a set of variables and 
	their corresponding values. Either leave the default value present, or
	change the value in accordinance with what you want.

	Then, assuming you are logged in on a terminal as 'root':
		
	[root@host ~]# python -V

        This should show up as "Python 2.2.2" (or greater). If not, try "python2.2 -V"
        Once you have the correct command, continue below:

        [root@host ~]# python setup.py install

        If you have sendmail, it may be of an interest to read the HELP file

Credits:

        + Timothy O'Malley for the wonderful timeoutsocket.py module
        + Andy Dustman for the MySQLdb module

        ...and for all the programmers who made Python possible

License:

        Copyright (c) 2003 by Kyle Gibson 
        All Rights Reserved

        This program is free software; you can
        redistribute it and/or modify it under
        the terms of the GNU General Public License
        as published by the Free Software Foundation;
        either version 2 of the License, or
        (at your option) any later version.

Warranty (or lack thereof):

        THIS SOFTWARE IS PROVIDED "AS IS" AND ANY
        EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
        BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
        OF MERCHANTABILITY AND FITNESS FOR A
        PARTICULAR PURPOSE ARE DISCLAIMED.  IN
        NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
        EXEMPLARY, OR CONSEQUENTIAL DAMAGES
        (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
        OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
        USE, DATA, OR PROFITS; OR BUSINESS
        INTERRUPTION) HOWEVER CAUSED AND ON ANY
        THEORY OF LIABILITY, WHETHER IN CONTRACT,
        STRICT LIABILITY, OR TORT (INCLUDING
        NEGLIGENCE OR OTHERWISE) ARISING IN ANY
        WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
        IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.





######FILE: IMPORTANT

IMPORTANT

Things you need to do

	1. By RFC, the SMTP server is required to have a "postmaster"
	   email address. As such, support for such user is included in 
	   this application. This is fine.

	   However, the SMTP server also uses the server's hostname as
	   the FQDN, or Fully Qualified Domain Name. This address is then
	   attached to the postmaster username to form postmaster@hostname.

	   The problem occurs is when the hostname lacks a Mail eXchange 
	   [MX] entry in its DNS entry, or it even lacks a DNS entry 
	   completely.

	   There are several ways to solve this:
		a. Create a DNS entry with a MX entry that, of course, 
		   points to the current server.
		b. Edit config.py such that the FQDN used is a domain
		   that already has a DNS entry with a valid MX entry

	   The software installation script checks to see that the server's
	   hostname resolves to a MX that points to the current server. If 
	   this fails, setup will not continue.

	2. Configuring sendmail

		Step 1: No daemon on port 25

			Open the sendmail configuration file /etc/sysconfig/sendmail
			Change "DAEMON=yes" to "DAEMON=no"

		Step 2: Route mail to FrozenPOP

			Open /etc/sendmail.cf
			Look for the line that starts with DS...make this line DSesmtp:localhost 
			Look for the line that starts with DR...make this line DResmtp:localhost 
			Look for the line that starts with DH...make this line DHesmtp:localhost

		Step 3: No loopback complaining

			Open /etc/sendmail.cf 
			Look for the following line near the bottom of the file:

			Mesmtp, P=[IPC], F=mDFMuXa, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
				T=DNS/RFC822/SMTP,
				A=TCP $h

			In this line, change "F=mDFMuXa" to "F=kmDFMuXa"

		Step 4: No authentication

			Open /etc/sendmail.cf 
			Look for the following 3 lines
			#O AuthMechanisms=LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
			#O DefaultAuthInfo=
			#O AuthOptions=A
			They each need a "#" in front of them, if this is not the case, make it so.

		Step 5: Restart

			/etc/init.d/sendmail restart



######FILE: POST-INSTALL

So, you've successfully installed FrozenPop. Now what? Well, here is a
small list of things you should do:

1) Do you have sendmail? You will need to reconfigure sendmail so FrozenPop
   can operate properly. Read the IMPORTANT file for information on this.

2) Create a test user. In the bin directory of the installation there is
   a file called "adduser.py". If you invoke Python, "python adduser.py"
   you will be able to create a fully function user based on what you provide.
   Of course, a corresponding "remuser.py" script exists to assist in removing
   a user.

3) Test. Basically, there are 3 tests that need to prove True:
	a) Local -> Local
	b) Local -> Remote
	c) Remote -> Local

   These tests require that you make at least two users, as well as having a
   remote (non-local) email address to use. You can perform these tests easily
   using an ordinary email client.

4) Of COURSE, it may be helpful to try and START the server. In the bin 
   directory of the installation, simply type "./frozenpop start" and the server
   should enter into it's daemon mode. You should immediately take a look at the
   logs directory, as all error information, as well as other information will be
   displayed here.

5) Enjoy