######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 GibsonAll 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