QD-POP Documentation

Jan 4, 1999
David Hill, MD


QD-POP is a set of PERL CGI scripts which provide Web access to POP e-mail accounts. QD-POP runs on a Web server and provides a gateway to POP accounts which are then accessed with a Web browser by users anywhere in the world. The POP3 e-mail protocol commonly used througout the Internet is a poor solution for the nomadic computer user. QD-POP was written to provide multipoint, cross-platform compatible access to POP mail accounts using a simple Web browser.

Version 2.1

Version 2.1 adds two new security features and a few minor patches.
The biggest changes visible to the user are the radio buttons which allows the selective use of the local browser's disk cache, and a "Logout" button which will close the browser window in which QD-POP was running. QD-POP does not provide any local storage of mail on the client machine.

The patches include better handling of email address with embedded "<" and ">" brackets, a patch to reduce the frequency of re-connection errors after deleting a message, and some minor cosmetic improvements.

Not included...

Although several users had requested that QD-POP copy the body of a text into a reply-email, that feature proves to be very clumsy to implement in the state-less environment of CGI scripting. (Note that the server has absolutely no knowledge of you or your email after it send each page. Every button you press causes the QD-POP server to login to your POP machine again, execute the request, then logout.) In order to forward the body of a message, the user needs to manually copy and paste the selected portion of the text into the reply field.

Cache management

The cache should be left disabled to prevent QD-POP pages from being written to disk. This prevents another individual from being able to simply open the cache pages to read your clear-text login name and password.


The "logout" button should be used whenever you are finished with a QD-POP session in order to clear the pages stored in RAM. This prevents another user from using the 'back' and 'forward' button to read your email after you have left the machine. This button simply invokes a javascript routine to close the current window. Note, on some machine/browser combinations there can be a substantial delay (~30 seconds) for the browser to initialize javascript. If you encounter this problem and develop a workaround, please let me know.

NOTE: This release of QD-POP is primarily intended to enhance your ability to keep your mail and password confidential, but there is no way to 'secure' an inherently open communication pathway such as http. These enhancements are provided to assist you, the user, with management of any confidential information that you choose to access.

Version 2.0

Version 2.0 provided improved message handling, integrated sendmail capability and provided the ablity to delete messages from the pop server.

Advantages of QD-POP

Multi-point access

without added licenses: As browsers are ubiquitous, quick POP mail access is most likely available from any point in an organization or institution which has implemented QD-POP.


If SSL is implemented on the Web server, QD-POP provides encrypted messages.

Buffering the public

The end user is buffered from e-mail protocols: QD-POP end users need not know about POP protocols if the Web administrator has set up a drop list of servers using the <OPTION> tag. Thus, the user is buffered from having to know anything about e-mail protocols. If they can use a browser, they can use QD-POP!


None. As the legal language so often says, "Use at your own risk."


System Requirements for v2.1: * Http server which is CGI 1.1 compliant * PERL 5.0 Please note-->QQ-POP is a CGI program and runs on a Web server NOT a client workstation. It is accessed using a standard Web browser from any desktop but the program itself is running on the Web server. If you do not have access to a Web server, provide this archive to your local Web master for installation if they are so inclined :) Where to get PERL 5.0: http://www.perl.com Where to get PERL 5.0 for NT or Windows 95: http://www.hip.com (recommended) http://Website.ora.com Preparing your Web server for QD-POP: * Install PERL 5.0 * Create a cgi directory /cgi-shl/qdpop and make sure it can run PERL cgi programs. * Create a /qdpop as a directory under the Web root directory. How to Install QD-POP: 1) Unzip qdpop21.zip in a temporary directory. Check here to see the "Files.htm" page. 2) Copy all .pl files into the newly created /cgi-shl/qdpop directory on your Web server 3) Modify the sendReply.pl file as described in Files.htm in order to define your local smtp server. 4) Copy POP3Client.pm into /cgi-shl/qdpop also. OR see your PERL documentation for alternate placement of library files. 5) Create an html directory called /qdpop (.../Webserver/htmldocuments/qdpop) Copy all .htm and .gif files into the /qdpop directory just created. 6) Establish link(s) from your home page(s), to /qdpop/qdpop.html as needed. -------------------------------------- Troubleshooting/Verifying installation -------------------------------------- Making sure PERL installation works: To test the PERL installation and the cgi processing, we have included a very basic PERL routine which does not rely on any non-standard modules. To ensure that PERL is correctly installed and your Web server correctly configured, copy printenv.pl into the /cgi-shl/qdpop/ directory and run it from a browser: http://www.yourserver.com/cgi-shl/qdpop/printenv.pl The resulting Web page should have the CGI environment variables for that session. Error 500: If your Web server returns an error 500, either PERL is not installed correctly or the Web server is not configured to run cgi scripts within the cgi-shl directory. To check the PERL installation, run printenv.pl from the server's command line. Refer to the server's instruction manual on configuring cgi directories and PERL. If you are using Windows NT, make sure .pl files are associated with the perl.exe interpreter in the c:\perl5\bin directory. Error 404: The CGI script could not be found. Make sure the scripts are in the cgi-shl directory and that you are typing the URL correctly. If you use cgi-bin rather than cgi-shl, you will need to edit the qdpop.pl and qdpop.htm files to reflect that change. A Text Listing of the Source Code is returned: The directory with the PERL scripts is set to return HTML documents rather than run CGI scripts. *IF USING WINDOWS 95*: Due to the DNS implementation on Windows 95, QD-POP will only work correctly if the *IP* number of the POP server is entered in the POP Server field. ------------------ PLATFORMS TESTED ------------------ * Windows NT 3.51 and Netscape FastTrack Server 2.01 * Windows NT 3.51 and Netscape Enterprise Server * Windows NT 3.51 and WebSite 1.1/Pro * Windows NT 4.0 and Netscape FastTrack Server 2.01 * Windows NT 4.0 and WebSite Pro * Windows 95 and Netscape FastTrack Server 2.01 * Windows 95 and WebSite 1.1 ------------------ SHOULD ALSO RUN ON ------------------ Since QD-POP is written in standard PERL 5.0, it should run on the following systems with little or no modification: Operating Systems: * UNIX * VMS * LINUX Web Servers: * Spry * IIS * Apache * NCSA ------------ CREDITS ------------ Note: If you implement QD-POP on your Web server, we would appreciate a link or mention of us as original developers. Thanks, David B. Hill, MD Michael Hogarth, MD Jose Galvez, MD ---------------- FEEDBACK ---------------- Please provide feedback or report problems to: David Hill UC Davis, Medical Informatics dbhill@ucdavis.edu