Download Alex Hart's email program
aMail
Alex Hart's Web Based email Program
Download Page
WELCOME TO VERSION 2.
IF YOU ARE UPGRADING FROM VERSION 1.X, PLEASE READ THE NOTE BELOW ABOUT
UPGRADING TO VERSION 2.
IF YOU GET MY PROGRAM WORKING I WOULD LOVE TO HEAR ABOUT IT.
I APPRECIATE COMMENTS AND BUG REPORTS TOO.
I WILL BE TRAVELING THROUGH JULY AND WILL HAVE VERY LITTLE TIME TO REPLY
TO EMAILS.
PLEASE BE PATIENT IF YOU NEED A RESPONSE TO AN EMAIL.
THIS PAGE DESCRIBES HOW TO DOWNLOAD AND INSTALL A COMPLETELY FREE,
FEATURE RICH, SIMPLE TO USE WEB-BASED EMAIL PROGRAM.
mail the author at aMail@althepal.com
1. Author's Comments
2. Program Name
3. Requirements to use this program.
4. Browser and Platform Compatibility
5. Features
6. Changes in Version 2
7. Upgrading to Version 2
8. Non-Features
9. Security
10. Test Account
10. Directory Setup
11. Program Customization
12. User Setup
13. Screen Shots
14. Download the thing
AUTHOR'S COMMENTS
This program was written by me, Alex Hart, and is freely available.
I programmed it entirely in Perl, on a Linux system. Most of the
testing of this program was done in a Linux environment on Netscape, V
4.7?. It is by no means bug-free, but I fix 'em as they come.
I'm also sure there are some formatting problems on some systems with some
browsers. There's only so much I can do, for God's sake. The html
uses a lot of javascript, and I know some of this breaks down in Windows,
especially IE. If anyone can fix some of the javascript to work better,
please send it me the fixes.
This program was written to be a web based replacement for Outlook Express
or Netscape Mail. As you can see from the screen
shots, aMail looks more like a typical desktop mail application than
do most web applications. On the main screen there are actually 4
different frames with information, all tied together with javascript.These
scripts do not hand out email addresses or do any other account setup other
than that needed to check and store user mail. Users need to already
have a POP server account and SMTP server account to read or send mail
through aMail. I do not need to hand out user accounts so
my scripts cannot do it.
I wrote this program to improve my Perl skills and to have a good, web
based email account. Email is something I use every day, and nothing
out there looked good enough. I wanted a web based email account
without ads and without a size limit. I try to put in the exact features
I'd like to use in my mail program, both features I've seen in other mail
programs, and some I have never seen. This is a feature rich mail
program, but there are limitations to web applications.
This is a work in progress, and probably will be for some time to come.
I will update the download area every so often.
If you have any question, comments, suggestions, compliments, hate mail,
etc. that you would like to send me, you can reach me at
aMail@althepal.com
PROGRAM NAME
I'm not sure if this program has a name or not. I initially called
it aMail, since my name starts with A, and it sounds good. I make
many mentions in my code to amail. If there is something else out
there called amail, this has nothing to do with it. If another amail
entity does exist and this has any legal ramifications, you may want to
change the references to it, or at least take all mention of it off any
web pages that are displayed (i.e. The aMail Login screen).
REQUIREMENTS
What you need to use this program.
1. A server, with perl. I use Perl 5.004, or so. Also a
few perl modules, not in the standard release are needed. Net::POP3,
MIME::Base64, and possibly others. I think these should do it though.
Go to cpan.org (or maybe cpan.net), to get any module you need.
2. A web server that runs scripts, such as Apache. If you have
access to the error log files, you might have an easier time setting up.
3. Users who already have a POP and SMTP server they can use for email.
4. Some Linux skills (minor) to set up the directories and customize
the program. Really you only need to create directories and edit
one file.
5. If you have a Linux box with Netscape 4.7X, I have high confidence
that all the functions will work and the screen will look like I meant
it to. But most recent version of browsers on most platforms should
be sufficient to use most of the features and see enough.
6. Perl skills, only if you'd like to fix bugs, add features,
etc. Really, you do not need to know perl to use this mail program.
BROWSER and PLATFORM COMPATIBILITY
This email program was written and tested on a Linux system (Red Hat
6.1) with Netscape 4.7?. There has been very little testing done
on other systems. I imagine that the perl code will run the same
on different platforms and generate the same html for the user, but there
may be differences that I do not know about. Please let me know if
you run into problems on other systems.
The position and placement of the frames looks great on my monitor using
Linux. It doesn't look as good when I run windows98 with Netscape
or IE. I guess it's optimized for me and my computer. If you think
some of the frames are the wrong size, the sizes can be changed by editing
the file amail.cgi.
There is a lot of javascript used in the HTML. I try to make everything
cross-browser compatible, but I can't easily test it all out. In
the future I will work more on testing it out on different systems.
Right now, I know that the HTML totally fails on very old browsers.
I don't know where the cutoff is. I have successfully used it on IE5 and
Netscape for windows (4.?) but the placement looks worse and some javascript
fails. If you find javascript errors and know how to fix them, please
let me know.
FEATURES
Following is a partial list of the features in this program.
The number of features is constantly growing, and many features not present
in this list are featured in the program.
o Check email through POP3 account
o Send email through SMTP account
o View text and image attachments on web page
o Save attachments to disk or to web site
o Add attachments to outgoing mail from upload directory or another
email
o Folders :
See number of messages,
number unread, folder size in kB.
Add, rename, delete folders
Delete all messages from
folder, mark all messages in folder as read
o Search : By folder, time, from, subject, body
o Upload files : Personal area for managing incoming and outgoing attachments
o Forward or Reply to messages with some or all attachments
o Resend message without altering, just enter email address.
o Address Book with Nick Name field for email address shortcuts
o Add to address book from incoming mail addresses (including other
recipients.)
o Add addresses to mail from address book
o Make Groups from contact list or from an email
o Change personal info or password
o Security :
Password access
Session time-out
Log out
o User creates own account
CHANGES IN VERSION 2
Version 2 is a pretty extensive rework of Version 1. Much of
the time spent on Version 2 was spent cleaning up code and reducing the
amount of information transfer. All user files are identical except
for address_book. I'm not that good at keeping track of all the changes,
but here are a couple of them, in no particular order:
1. Most javascript moved from frequently accessed pages to static pages.
This reduces file transmission considerably.
2. Added groups to the address book, and several ways of creating and
editing groups.
3. Added index number to contacts in address_book. This allows
greater flexibility in dealing with contacts. The address_book
file has a different format from Version 1 to Version 2. This needs
to be changed if upgrading. See next session for info on upgrading.
4. Only show 50 messages at a time in folder. This should reduce
the bandwidth somewhat. Reworked next message and previous message
to accommodate this smoothly across screens.
5. Fixed several bugs which made emails display incorrectly.
6. Improved New Window option to display the email in a new window.
This allows greater viewing area for message.
7. Generally improved communication between windows through javascript.
8. Added sort functions to folder contents.
9. Implemented different message filename convention. The filenames
no longer contain the date. The names are now shorter, sent files
begin with '1', and received messages begin with 2. I figure this
will eventually be used to color code different messages. Especially
when aMail handles multiple email accounts, this will come in handy.
I'll probably write a script later to update the folders file and
the message filenames to reflect the new naming convention on existing
aMail accounts.
10. Implemented file locks to make sure there are no accidents
on the folders file. This is a really important file.
If it is lost, all the emails will still be in the user directory, but
you'll need to somehow recreate a new folders file.
11. Made sure that all links in mail message open in new window (or
at least most of them).
UPGRADING TO VERSION 2, FROM VERSION 1.X
This only affects aMail users who have already installed Version 1.X
and have users who have set up an accounts.
The address_book for users is a different format from Version
1 to Version 2. The change is that a unique index numbers is added
to each contact in the book. This is probably something I should
have had from the beginning, but didn't. The top line is the last
index number to be assigned, and should be incremented for each new entry.
I also added groups, but this shouldn't cause any problem. See
address_book
info
I wrote a small script which should fix all user address_book
files by adding an index number to each contact and adding a line at the
top of each address_book file with the highest index number added.
Simply put this script into you User area, the directory where all user
directories are stored, and run this script (add_bkV2.pl). It should
find all address_book files and alter them.
download address_book fix script
NON-FEATURES
This program does not provide email addresses. In other words, when
users set up an account, they are expected to already have email access.
I would think it would be easy to add something on during the account setup
procedure to set up an email account too, but i don't need it.
No spell check.
Not very good browser support.
SECURITY
I am not a security expert, and I don't have much to hide, but I did
try to make this as secure as possible. I make no guarantee how crack
proof this program is. If you have any suggestions on how to increase
security, or notice any flaws, please let me know.
All information sent to or by aMail can be seen by anyone who cares
enough to look really hard. There is no encryption done by this program
when sending or receiving information, including any passwords sent to
the server. Passwords are never sent in the html, so it is very hard
to accidentally save a page with a password in it.
The user's aMail password is stored encrypted on the server in the user's
pass
file. This is a very minor security precaution, since if someone
can read the pass file, they can surely read any email stored in
that directory as well. However, if the user directories are only
readable and writable by the user name that the web server runs on, no
one but the web server should be able to read the user's pass file,
or any of the user's info. The user directories should also not be
web accessible.
Each time a user logs in, a session ID is created and is stored in the
user's sessID file. A new login will overwrite the old sessID
file and the old ID will not work. The sessID file is removed
on a logout. Every script that accesses a user's area first checks that
a proper user name and session ID is given. This info is passed from script
to script through forms. Each time the session ID is checked, a time check
is done to see if the session is longer than the $time_til_expire variable
specified in Amail_common.pm. If the session has lasted longer than the
number of seconds specified, the session ID will not work.
The user_info.db file stores all user inputted information except for
user name and password. This includes pop server and password information.
This information can be misused and should be protected from prying eyes.
I took precautions wherever I knew enough to do so on user input.
User names and passwords are limited to certain characters but most other
stuff is pretty liberal. I'm really not sure what sort of input would screw
up the server, but who knows. I think that server side includes are
not generally run for script generated html, which, if true, should greatly
limit the damage users can do.
Protecting from unwanted users: If you do not want anyone to
be able to open an account without permission, there are two options.
What I did is to put the new_acocunt.cgi script in a new directory which
is password protected. The login.cgi script needs to point to this new
directory. Directories can be made password protected by placing
a .htaccess in the directory. New users will need to know the directory
password to open a account. Once a user has the password, they can set
up as many accounts as they wish.
The other option, which is more secure than the first, is to manually
run new_account.cgi for each new user. This gives the site operator total
control over new account.
TEST ACCOUNT
If the user name given is althepal, then no changes can be made to
the folders file for this account except for marking messages as
read. This was done to allow people to view aMail in operation without
installing it and without creating an account. The name "althepal" is hardcoded
in each of the scripts.
DIRECTORY SETUP
You will need to create three directories to install this email system.
When the tar file is untarred, the program files will be in ./program ,
the images in ./images , and the initial user files in ./initialize_user
. The names you give the directories do not matter.
Program Directory : Used to hold all perl programs. Any
file ending in cgi or pm need to be placed in here. This directory
needs web access and needs to be executable through the web. Depending
on your setup, you may need to place it under your cgi-bin
directory.
Mail Users Directory : Used to hold all users data. THERE
SHOULD BE NO WEB ACCESS TO THESE DIRECTORIES OR ANYONE CAN LOOK AT ANYONE'S
MAIL. The only files you need in this directory is folders.start
and 999999. Each user gets one directory with same name as the user
name under this directory. The structure necessary for a new user
is created in the new user process.
Image Directory : All icons, backgrounds, etc. in here.
Anything ending in .gif or .jpg.
See detailed directory structure and file
descriptions for more information.
PROGRAM CUSTOMIZATION
The only file that needs to be altered to get these programs to work
is Amail_common.pm.
There are five variables that should be changed to customize the script
to a particular server.
o File location
Amail_common.pm makes mention of the user directory and URLs for the
program directory and the image directory. The user directory variable
should be a file path on your system, but the references to the URLs should
be in form of "http://your.domain/directory". Change the two URLs and one
directory to the ones used on your system.
the following 3 variables in Amail_common.pm need to be set for your
environment
$dir_URL --- set to the url that the perl code is in
$db_path --- set to the directory path that the user files are in
$img_URL --- set to the url that the images are in
o Session time out
The number of seconds until a session expires can be set with the $time_til_expire
variable. I have mine set to a high number, so I never really time
out.
o Server time
$time_off_from_NY should be set to the number of seconds behind New
York time that the server running this script is on. Each user can
then set their local time in the user_info section. Currently, this
program can only handle those users in the continental US, who observe
daylight savings time. It would be a fairly trivial matter to adjust
the program to fit more areas.
Note for international users: This program was written mainly
for people in the continental US. For this reason, users are asked
to enter their time zone, but are only given 4 choices. To workaround
this, set $time_off_from_NY to 0 and set the user to Eastern Time.
Then the user will be on the same time as the server.
USER SETUP
Setting up an account is straight forward and entirely done by the
user. First a user selects a user name and password using the new_accounts.cgi
script, which can be accessed through the login page. The new_account.cgi
script adds 2 directories for each user, a user directory named after the
user and an uploads area beneath this directory. Inside the user directory
should be the following files : folders, pass, address_book. To see detailed
information on these files, click the following link.
See more information on user files
Once the user has an account, the user can login in through the login
page. Once in the webmail program, the user should add server and
other information which will be used to receive and send mail. This
info added by clicking on the user_info button at the top of the screen.
If everything is working properly the user should be able to access mail.
SCREEN SHOTS
These screen shots are reduced by a factor of .75. Everything
is actually much clearer.
Main Screen
Compose Message
Address Book
Folders
Personal Disk Space
Search Screen
This is the main amail screen.
The top tine is the table of contents, or TOC.cgi.
The orange box on the left, with the Go, Move, and Delete buttons is
the function.cgi script. The functions work on the window to the
right, if one or more messages are selected, or the message on the bottom
otherwise.
The large window immediately under the table of contents contains brief
information on all email messages in the folder being shown.
The bottom half of the window is used to read messages.
This is the screen used to compose
a message. Attachments are added using the form on the bottom.
The link to the address book allows users to insert email addresses from
their address book.
This is the address book. The
contacts are shown on the top, the groups on the bottom.
This is the folder information
for the user.
This screen shows the users files that have been uploaded
to the server.
This is the search screen.
DOWNLOAD IT
OK, you know enough about it, and now you want it, don't you?
Well, I'm not going to force anyone here, but I'd love some information
about the people who are using this program. I promise I won't use
this info for anything evil. If you like, I'll email you with updates.
If not, you will probably never hear from me again.
THIS IS ALL OPTIONAL, BUT I'D LIKE IT
If you've downloaded my email program before, I'd still appreciate
your email.
Name:
email:
Check this
box to receive updates on my mail program.
Country:
City/State:
How did you hear
about this?
Planned Use:
Wyszukiwarka
Podobne podstrony:
Bonus Download PageFound And Downloaded by Amigopage$Found And Downloaded by AmigoFound And Downloaded by Amigopage&install product pagefile D Download Polki Wirtualna Polska8page36page 1page 8więcej podobnych podstron