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