4.0.3 Sep 21, 2009 * use 8bit encoding for text message bodies * fixed handling of multipart message parts 4.0.2 Jul 13, 2009 * fixed small syntax issue when generating reply and forward messages in PerlWebmail/IMAPServerMessage. Thanks Serge. 4.0.1 May 30, 2009 * better handle errors when constructing forward messages * check to see if the message has HTML contents before trying to needlessly convert HTML content. 4.0.0 Jan 19, 2009 * updated to use Net::IMAP::Client * all handling now through IMAP rather than pop3. * Removed calendar. * Removed PerlWebmail/Theme.pm 3.1.1 May 07, 2006 * fix to handle username containing an email address (TöröAkos) * updated ConfigAdmin * updated message list generation * updated footer and read_message templates 3.1.0 Dec 04, 2005 * make sure contacts and calendar send current_folder during POSTs * fixed issues with certain message parts being encoded in the read message window * added buildslackpkg.sh script for slackware users * various code level improvements * rewrite for Template toolkit support 3.0.10 May 10, 2005 * updated call to Crypt::CBC following new constructor convention * added a check for msg definition when searching for the msg id before deleting * mark all messages copied to a sent folder as 'seen' * added delete_all option * ensured that mark as read works for pop3 servers that don't support changing labels * changed lock times to 0 * fixed Mail::Address::new call, adding requirements when full_name not specified. Thanks Andreas Fitzner 3.0.9 Sept 23, 2004 * this release should work with the Mail::Box 2.058 release * fixed 500 error when recipient list was empty while sending a message * set lock_wait for pop3 folder opening (helps alleviate pop lock issues) * updated debian/ files * updated layout, css, and presentation * added option to empty out a folder in settings * updated italian translation, thanks to Mirko Elviro * updated Language.pm, thanks to Kalin (kalin@cc.bas.bg) * misc updates for Mail::Box compat * updated all ->date() calls for messages to head->get('Date') (marc at offline dot be) * handle multipart/alternative emails better * changed all ->find() calls to ->messageId() b/c it is faster * added error when unable to find message b/c the message id is a duplicate * now gracefully handles pgp signed messages, printing out their contents instead of making the message part an attachment * added calls to msg->parts('RECURSE') (per "Rich Caller" recommendation) * changed Mail::Address constructor to ->parse for to, cc, and bcc in send_message (fixing domain name appending after email addresses) * updated debian/rules * fixed forward attachment bug 3.0.8 November 29, 2003 * updated maxmesslistnum from 100 to 500 * TRUN_MESSAGE_PART_LENGTH global variable to shorten long subject lines * don't close copyoutgoingto if it's the same as current_folder * now sends via Mail::Transport::SMTP instead of via message's send() method * fixed warning within quit() of folder undef * updated Mail::Message::Build data option to follow Mail::Box spec 3.0.7 July 11, 2003 * improved plain text attachment support such as text/c-src etc * encrypting the password the password by default now (regardless of encryptlinksandforms being set). Added encrypted_password cgi param. * encryptlinksandforms is mandatory in order to encrypt the password seperately. This is so we know when to expect an encrypted password or not. * now encrypt_hex() the password seperately before the form field/get link so that passwords with ampersand (or other meta type characters) work thanks to Ian Thurlbeck for bug report * moved debugging into show_debugging() and put calls to it before all quit()'s * Fixed mod_perl locking issue with copyoutgoingto on send * added more warnings when the user is kicked back to login * fixed mailbox locking issue for mod_perl users * German translation updates by Robert Frunzke * updated UserConfig/File.pm to be more mod_perl friendly (no longer pollutes PerlWebmail::UserConfig::Config, uses Safe.pm) * updated more error reporting * added $global->{cgi}->delete_all() and $global->{mgr}->closeAllFolders() to make mod_perl happy * added quit() to encapsulate delete_all,closeAllFolders, and exit * added 'mark as read' action for marked messages within the message list * Fixed error reporting on pop3 failure * Moved the rest of the error messages into PerlWebmail::Language * now reports send errors * added notification for how many messages are new in the folder 3.0.6 June 5, 2003 * change the charset detection so that it uses the default set in PerlWebmail::Config rather than a hard coded ISO-8859-1 * Added a warn if msg send() fails * enforced setting the seen label for all copy/move messages, as well as after reads * Added lastdisplayed to the delete_link in print_message_read_toolbar() so that deletes take you back to curent folder in the correct portion of the listing * more explicit with building message id list for moving,copying, and deleting messages * Added necessary error handling (die on big errors) * changed new Object calls to Object->new() * removed debugging in PerlWebmail/ConfigAdmin.pm * implemented initial Configuration Admin interface (see README) * initial Makefile.PL install * updated css for validity * code cleanups,optimization * added initial enable/disable html email option * updated html rendering * implemented bolding of message in message list where message label of seen not set (where support by POP3 Server) * updated linkify() so that all links within a message open in a new window, as suggested by * Fixed References and In-Reply-To breakage from 3.0.5 3.0.5 April 19, 2003 * enforced attachment of original messages for multipart messages (following default for Mail::Box) on replies * fixed 'Global symbol "@message_ids" requires explicit package name' * fixed 'reply style' for attach message * cleaned up message send code * updated use CGI (removing :all) * use Mail::Message::Convert::HtmlFormatText in read message for text/html emails * remove all tags from html emails 3.0.4 April 10, 2003 * Updated README, adding more PerlWebmail::UserConfig::DB documentation. * updated UserConfig modules * added inbox as default option value for folder select box * cleaned up folder_housekeeping * added option to copy/move message to folders from within the message read screen * changed PerlWebmail::UserConfig::DB debug prints to warns * documention updates * Added PerlWebmail::UserConfig::DB backend for user configuration storage/management * moved specific file based methods in PerlWebmail::UserConfig into PerlWebmail::UserConfig::File * Updated PerlWebmail::UserConfig to be base class for PerlWebmail::UserConfig::DB and PerlWebmail::UserConfig::File depending on the arguments passed. * fixed default use lib location, changing back to ./ (instead of my testing location) * Fixed bug causing 500 error on unnamed attachment * Removed pointless POD at the end of webmail.pl (causing mod_perl1 to complain) 3.0.3 February 23, 2003 * added german language updates by Andreas Fitzner * added check for $fldr var while going through listfolders() for printing folder select box * Added -charset to default cgi->header() call * added 'Export Folder' as mbox in Settings section * added 'Export Contacts' as vcard in Contacts section * fixed reverse size sorting bug * fixed get_intl_date() bug which caused 12:00 times to become 00:00 (thanks to Marcelo Miranda ) * updated ptbr language translation (thanks to Marcelo Miranda ) 3.0.2 January 24, 2003 * Added [Add Contact] links to all email fields in read message header * Fixed get_attachment so that it assigns filename to download * Fiddled with default images * Added tr class left-menu for explicit centering of tool bar images to webmail.pl and webmail.css * Changed remaining 'keys %{ $global->{folders} }' to '$global->{user_config_obj}->listfolders()' * Set message link to be message subject rather than sender in message listing * Only opened requested folders (to speed things up) or as needed (when copying or moving msgs) * Changed formatting of Contact listing for new message creation so that CC is below (not beside) the To select box * Added { ($contacts{$a}->{full_name} || '') . $a cmp ($contacts{$b}->{full_name} || '') . $b } to Contact list sort * Added call to escapeHTML() for show_header in message read 3.0.1 January 7, 2003 * fixed sending forward message (previously all forward messages went to account sent from) * Enabled per server name config load in load_config() (checks PerlWebmail::Config::config->{ cgi->server_name() }, defaulting to PerlWebmail::Config::config->{ default } ) * Updated default PerlWebmail/Config.pm * Fixed "isn't numeric in numeric comparison" warning by appending 'k' during print_message_list() * Removed Mail::Box tracing while debugging is set (causes slowdown and timeouts with warnings turned on) * Improved gen_message_list() function: [3.729-R 3.400-U] to [3.281-R 2.960-U] without search [5.004-R 3.796-U] to [4.858-R 3.813-U] with search * Added [Language] to settings (appropriate entries in Language.pm). * changed default config for debug to off 3.0.0 December 27, 2002 * Calender now has row above day of month numbers with 2 character string for day of the week * Set contact create message form so that BCC is on new row, so that it doesn't scroll to the left on smaller resolutions * Added ondeletemoveto setting so users can specify messages marked to be deleted instead be moved to specified folder (such as a Trash folder as created by the user) * fixed state for deleting messages from search or alternate folder... returns to search results or last view * [Back to Folder] link while reading message restores message list with lastdisplayed * Updated UserConfig object, added documentation, contact methods, fixed bug with list methods when undef * Implemented Contact manager * removed reply_style 'NO' as it breaks message reply * implemented Calendar * Updated UserConfig object, added documentation, calendar methods * changed folder list code in webmail.pl to call user_config_object->listfolders() * don't call open_users_folders() if we are doing calender and contact stuff * cleaned up warnings with gen_auth_link(), function is now more verbose * Added begginning calender * removed unused png files, renamed calender to calendar * Browseable Search results implemented * Added [Add Contact] link on from field in message read * Added linkify() function to make links from urls in plain text message bodies * Added 'Copy Outgoing To' option to settings, to specify folder to copy outgoing messages to * All addresses in message list and message read show full name plus address where available * you can now sort your search results and after getting more messages * print_toolbar uses $global->{buttons} array ref now, so that plugins can register their own toolbar button * Added full_name to email From field if defined * fixed cc and bcc override in message creation * removed attachments from message body creation on reply/forwards (filling up textarea) * signature is now attached during message creation so it can be modified at creation time * fixed message_action and lastdisplayed, after performing message action, lastdisplayed is retained * added \n\n to beginning of signature * logouturl now works * header() call now has no-cache * speedier search ( case insensitive as well) * re-added cipher_handle init with remote_host and user_agent as first param * fixed empty subject on message creation showing content type * added call to print_message_read_toolbar at the end of print_message_read for usability * Added sorting within search results * Added 'Back to Folder {current_folder}' link in readmessage for usability * Added support for folder action to return to current folder with current last_displayed * Complete Rewrite. All code from version2 has been thrown away and rewritten. Most notable features: - future plugins (registering actions to package scoped (our) $global->{actions} ) - cleaned up HTML, now very lean, css enabled for themeability - Integrated first class folder support ( backend now on Mail::Box ), copy or move message from one folder to another - Language translations moved to single module (Lanauage.pm) - Inbox/folders searchable (via Mail::Box::Search) - User configuration/settings screen to set reply style, message list count, default sort, signature, and full name - Noticeable speedups and many more, see TODO. 2.4.3 November 27, 2002 * Added James Freeman 's diff to make file names nice for IE attachments * added initial files for CPAN like module install * Moved CONVERTER hash into convertCoded(). Updated X-Mailer. 2.4.2 October 7, 2002 * Fixed printauthhiddenfields so that it prints the encrypted pass instead of the plaintext version. This causes unencrypted password to be visible when cookies are disabled. * updated forwardmessage() and replymessage(), fixing bug reported by ZUKERAN, shin shin@opus.or.jp removing text between '<' and '>' * updated language detection code fixing errors detecting chinese languages (Lawrence aBeL @ PPMail.Com abel@ppmail.com). 2.4.1 July 10, 2002 * updated debian/ files * Added -secure call to cookie creation if CGI::https() is 'on'/true. * Base64 encoding all uidl's now... qpopper uidl's now supported once again. * Added user_agent to EncryptForm secret key (now remote_host() . user_agent() ) * Fixed string concant in forwardmessage() to eliminate log warning. * Fixed uninitialized warning for createmessage() and $global{message_body} * Removed DeleteAll button, functions, and language * Added CGI::EncryptForm support encrypting all get request links. * Will not use uidl if pop server is qpopper (identified from pop banner, ($global{pop}->{BANNER} =~ /qpopper/i) ). * Documentation updates * Added message_form() func to handle form for createmessage,forwardmessage, and replymessage. * Created parse_message function, removed duplicate code in listmessages and readmessage, having both call parse_message now. * £ukasz Karbowski sent in updated Polish language pack. * Lawrence Abel updated the 5 language packs (Japanese, Chinese - Mainland, Chinese - Hong Kong, Chinese - Taiwan, and Chinese - Others) to include $READMESSAGE_REPLY_ALL * Fixed mistake on label for Bulgarian language detection. * Lawrence Abel sent in 5 language packs (Japanese, Chinese - Mainland, Chinese - Hong Kong, Chinese - Taiwan, and Chinese - Others). *** Note *** $charset must be UTF-8 * Updated replytoall code in print_toptoolbar. * Added html break after printing email header. * Updated Spam.pm plugin. * Removed commented out code in print_header. Changed html table attributes in print_toptoolbar. * Updated Spam.pm regexes. * Added Spam plugin as PerlWebmail::Spam.pm. Updated perlwebmailconfig and default Config.pm. * setup %global hash to store everything in. Updated cookie code so that logging out correctly clears the cookie. The cookie is now only getting set once on login. * moved charset into $CHARSET within Config.pm * Created $READMESSAGE_REPLY_ALL within Language modules for 'ALL' string * Fixed bug in getattachment due to new global variable (file_name instead of filename). * HTML updates in print_toptoolbar * Removed newlines from messnum in show_message() to fix IE problems deleting from listmessages() * Updated CONVERTER hash. * WEBSERVER and CGIBINLOCATION are now autodetected. COOKIEPATH is built on the fly as well. * Updated perlwebmailconfig utility * Moved POPAUTHMODE to PerlWebmail/Config.pm, updated perlwebmailconfig utility appropriately. * Use CGI qw(:cgi) instead of :standard * better text/html support 2.4.0 Apr 23, 2002 * Updated debian packaging info * Added Russian language module from Andrey N. Nidchenko * Updated Language* modules for $HTML = 'HTML' variable * Added ability to see HTML attachments * Fixed invalid cookie code (bad path) * Skip all the junk in listmessages() if $message_count < 1 * merged a few small suggestions from Ing. Alejandro Lay and Phil * Created $LISTMESSAGES_DISPLAYING $LISTMESSAGES_OF in Language modules as suggested by Ing. Alejandro Lay * Updated Language_spa* and added Language_spa_mx.pm from Ing. Alejandro Lay * Updated language check to catch specific spanish regions before defaulting to vanilla spanish * Made SHOW_HEADER a runtime option * Removed SHOW_HEADER from Config.pm * Created SHOW_HEADERS and HIDE_HEADERS in Language paks * Fixed Reply-To code to not set $replyto by default to $from (thereby only $replyto from reply-to header) * Updated spanish language packs, missing W_SEND (Ing. Alejandro Lay ) * Increased the size of textarea fields * Fixed print statement removing _ from replytoall link * Fixed link regex to catch all url parameters * Added Vincent Renardias' french language patch * Updated http header generation for no-cache (Phil Endecott ) * Removed old (non Net::SMTP) send code * Initial References header support code * Fixed bug with IE and NS 4.x (maybe a win32 issue) sending CR-LF at the end of the url messing up messnum. (Christopher Gilmore). * Fixed bug with sorting unencoded $from * Improved qpopper support for uidl (getting closer) * Updated Bulgarian language pack * Updated perlwebmailconfig * Improved qpopper support for uidl (still not perfect) * Code cleanups, updated replymessage() to use param("from") as forwardmessage() does Added Bulgarian language pack by Stanislav Lechev Merged Roberts print_lefttoolbar changes * Changed $i to $messnum in show_message() for readability * Added initial Uidl (replacing using message numbers) code * Added version of webmail to X-Mailer for debugging * Made encryption mandatory * Merged J?rgen N?rgaard 's patch for il8n and some extensions for ISO encoding of headers. * Merged J?rgen N?rgaard 's patch for getting attachments * Created PerlWebmail/Theme.pm. Moved $BGCOLOR $FONTCOLOR $FONTCOLORONBG $LISTBORDERCOLOR $LISTHEADERCOLOR $LISTHEADERFONTCOLOR print_footer print_html_header into Theme.pm. print_header() calls print_html_header, print_footer has been completely moved out. * Created FONTFACE within Theme.pm... updated webmail.pl to follow FONTFACE for all font definitions * Created DATABGCOLOR for the background color for all data outputs (listmessages and readmessage) 2.3.14 Apr 2, 2002 * Updated listmessages... moved bounds checks out of if/else block. * mod_perl cleanups (moved vars to MAIN::var, added Delete_all() to clear param() before end of script) * Removed CONCISELISTING from Config.pm,perlwebmailconfig, and webmail.pl * Removed LISTMESSAGES_ON from Language*.pm * Created a message_count variable within listmessages to replace all pop->Count calls * Fixed charset issue for IE users... Some versions (or all??) do not send HTTP_ACCEPT_CHARSET, so we set it to * ISO-8859-1 by default. * Updated Config.pm and perlwebmailconfig removing two unneeded vars (INSTALLROOT WEBROOT) * Updated listmessages with Roberts ideas, cleaning out a lot of stale code * Better i18n support through setting the charset to HTTP_ACCEPT_CHARSET provided by the browser * Updated Language.* to allow themselves to be required at runtime for autodetection of HTTP_ACCEPT_LANGUAGE * code cleanups * Now using MIME::Lite in addition to Net::SMTP to send attachments (Robert James Kaes) * html updates * Added Robert's suggestions for Net::SMTP code (sending the date in the header, code cleanups, and removing the \r returns). * Updated action check code merging all options for login(), removed cookie var and used anonymous cookie created in the header call, and a few small cosmetic code changes. * Added check to remove username@hostname from recipient lists when replying to all * Created printauthhiddenfields() function to spit out the two hidden form fields when using cookies (removing unnecessary duplication) * Updated various regexs throughout Renamed new_message_listing => list_message, new_message_listing_end => messagelistfooter Changed date sorting back to comparision operator back to <=> instead of cmp (remove -w if you dont like the warnings about size not being an integer) * Changed font definitions in html from Arial to Arial,Helvetica. Not everyone has debians msttcorefonts =] * Robert James Kaes sent in patches to remove duplicate pop connection code, moving it into its own function * open_pop3_connection, and to cleanup the encrypted password regex. * Added Christopher Gilmore 's getattachment updates for Eudora/Kmail * Merged Robert James Kaes 's html diffs to fix netscape4 display problems * Added regex suggested by Christopher Gilmore c-gilmore@northwestern.edu to excuse emails enclosed within <> from html removal regex * Updated readmessage so that it will not double list attachments already found, thanks to Christopher Gilmore for the suggestion * updated getattachment so that it reads text/plain attachments correctly with CR/LF, thanks to Christopher Gilmore for the suggestion 2.3.13 Mar 20, 2002 * Removed extraneous pop->close from login() * Added ability to grab multiple recipient lines from the header when reading mail. * Added check to replymessage so that recipient array only has unique entries * Set login() form to use LISTHEADERFONTCOLOR. * Fixed bug in print_lefttoolbar function where references and non references where being passed in, all the while expecting non references. Set to use references and updated all function calls appropriately. * Added $username,$encrypted_pass to print_lefttoolbar function call within listmessages (to fix non cookie bug) * Changed <=> to cmp within the sorting inside the listmessages function to eliminate log warnings * Added $LISTHEADERCOLOR to login() function so that it follows style guide correctly. * Merged sendmessage and sendsmtp into sendmessage.... moved usesmtp check into function, removing duplicate code * Updated image files and the html within webmail.pl * Updated coloring, creating LISTHEADERFONTCOLOR, and changing FONTCOLOR to be body text= * Added check in CLEANHTML to use Text::Wrap if length of line was above 130 characters * Lowercased all uppercased html * Removed reduntant html from listmessages and used print_leftoolbar instead. * Updated html so that coloring can be specified in the opening portion of the script (initial themeing) 2.3.12 Mar 12, 2002 * Added a few more $from checks to make sure its not an empty string or undefined * Commented out Content-Disposition: attachment; filename="" line when sending (within sendmessage and sendsmtp). * Updated readmessage and getattachment to look for name= instead of \s+filename= * These changes seem to fix problems with 3rd party email clients reading attachments sent from webmail (specifically outlook and evolution). * These changes may have introduced other bugs, so use cases would be appreciated. * Added more check for an empty from field... replacing it with the $LISTMESSAGES_EMPTYFROM * Changed nph to 0, and made the cookie value null to enforce logouts more strictly * Fixed a problem with vars not staying shared under mod_perl usage. This was a serious security concern allowing people to see others email. Thanks to Greg for the report. * Updated sendmessage && sendsmtp fixing the message headers for better attachment filename support. * Christopher P. Gilmore sent in another update, this time for Internet Mail Service attachment support. * added exit clause to make sure script ends on failure (thanks to Christopher P. Gilmore for the suggestion) 2.3.11 Feb 20, 2002 * Added extra newline to Content-Transfer-Encoding line to both send functions as per Christopher P. Gilmore 's suggestion. This fixes Eudora expecting "an additional blank line between the last line of the content disposition info and the start of the encoded message". * Removed double quotes from Content-Transfer-Encoding definition lines in both send functions. * Added format=flowed to the Content-type definition line when sending mail per Christopher P. Gilmore c-gilmore@northwestern.edu 's suggestion * updated if(/^Content-Type:\s+(\S+)$/i){ to if(/^Content-Type:\s+(\S+)\s*?/i){ in getattachment * added a check for text/plain content types and not trying to decode them. * Added https to url regex * jnp@anneli.dk sent in another patch: better handling of iso8859-1 (latin 1) encoding of headers and body text, correct encoding of links, returning proper type for attachment. I should have caught that content type bug. =] He also included some html cleanups, which I followed the spirit of and started correcting the bad html from long ago. Still more to do (I never said I was an html fan =] ). * Added some comments in various places. * Remove errno function... login can now be passed errmsg so that the two functions are no longer need. * Louis pointed out a few more cases of checks needed to eliminate log warnings. * removed old cruft * Added patch from jnp@anneli.dk which cleaned up the HTML so it mostly passes w3.org validator. I did not use jnps recommendation to export the AUTH_MODE into the config. I instead updated the connection code so that AUTH_MODE => 'BEST', which tries APOP first, then uses PASS authentication. If you are having trouble with this, check the README for hints and tips. 2.3.10 Feb 4, 2002 * Beta support for reply-all * Fixed bug causing logouts to not clear cookie. Thanks to Joe Rinck/Axiom joe@axiom.co.za. * updated debian package files (manpage, changelog). * Updated TODO. 2.3.9 Jan 28, 2002 * Added a check for an empty from line in the listmessages function, thanks to Nicolas.Martin@lodyc.jussieu.fr for the suggestion. * Created an EMPTYFROM var and updated language modules. You will have to modify for your lang. * Moved the recipient seperation note out into the language modules. Again, this will have to updated as I am not multilingual. * Moved 'Attachment' into $W_ATTACHMENT in language modules. * Moved 'Email Now' into $W_EMAIL_NOW. * Moved all the text/wording in the get_date function into the language modules. * Added a check for replyto in forwardmessage. * Added check for $to value in createmessage. * Added a check for the subject in readmessage. * Fixed attachment code to correctly send attachments with Net::SMTP and socket send functions. * Retrieving attachments works will all major browsers. Netscape 4.x has some trouble, however. Right click -> save as works fine. 2.3.8 Jan 24, 2002 * Updated language paks for W_REPLY_TO var Added a few checks to eliminate some of the warnings showing up in the log files. Added debian/ directory for packaging. * Fixed getting an attachment so that it passes the correct filename instead of webmail.pl. * Kevin L. Papendick kevinp@polarlava.com sent in a bug report and a fix for sending two blank emails alongside every email sent. The behavior was from a check of the to,cc, and bcc values to see if there where multiple recipients. The else would automatically an empty value into the recipient arrays. Kevin suggested changing the }else{ to an }elsif(){ check to see if the value was indeed initialized before creating the recipient array. His suggested have been merged in. 2.3.7 Jan 14, 2002 * Formatting updates/cleanups. * Uploaded images as pngs. * Fixed bug in readmessage function where replyto/from was left empty. * Fixed all the Language_*.pm's. 2.3.6 Jan 7, 2002 * Cleaned up variable scopes and global declarations for mod_perl support. * Cleaned up readmessage functions for indenting and brevity. * Moved webmail.conf into Config.pm and changed require line to use... Did the same for the language paks, now Language.pm. use strict is now supported, mod_perl support should be functioning (mildy tested). Updated the perlwebmailconfig utility to update Config.pm. All programs need to have 'use libs' declaration customized. All old code moved into old subdirectory. 2.3.5 Jan 2, 2002 * Updated color scheme for new jaos.org look. * Added expire to http header. * Added polish language pak by Piotr Dawidowski pdaw@teko.com.pl 2.3.4 Nov 26, 2001 * Fixed redundant sorting code that broke message listings less than the MAXMESSLISTNUM value... * Added Czech language pak by Jan Kudrnovsky kudrna@yahoo.com. 2.3.3 Nov 23, 2001 * Merged in Nick Pinckernell's diff for fixing MAXMESSLISTNUM with the new sorting code. * Disabled sending attachments (no more 500's) until we can work out a working solution. * Fixed bug in perlwebmailconf for the script URL's default value not being set when you choose the default value. * Fixed replyto display on readmessage (in print_toptoolbar), removing the %20 encoding for the spaces. 2.3.2 Oct 27, 2001 * Moved require lines for conf file and lang file belowe module use statements so that misplaced lang|conf files will not mask missing module requirements. Thanks to Gary Guthary for the suggestion. * Removed some unneeded crap like successauth and datelanguage from the code. * Changed the order of the reply and forward cgi params in the forward & reply links from the readmessage (print_top...) function. This caused errors with unescaped characters in the subject... so if the character is not escaped, only the subject will suffer. * Updated some html. * Added a check for the $sort var to make sure it is initialized when not in use... to trim out the errors that appear in the apache logs. * Removed sendmessage redeclaration, and moved logic into an conditional check calling the appropriate function depending on the presence of Net::SMTP or not. * Added Spain centric spanish language pak by Alx Alx@the-top.com. Also renamed config utility to perlwebmailconfig. 2.3.1 Oct 7, 2001 * Merged in Nick Pinckernell 's diff for sorting messages based on from, date, subject, and size... Fixed an issue with overlooking NEWESTFIRST configuration, and also of not sorting correctly with perl-5.005. * Thanks to gdavis@mn.rr.com for pointing out the lack of url encoding on the subject and reply too... added the appropriate regex to the print_toptoolbar function. 2.3.0 Oct 3, 2001 * Ok, its time for 2.3.0! This is a big milestone. I wanted to wait until the attachment code actually worked... but that might not be anytime soon. =] So here it is. * Updated layout of createmessage function. Removed duplicate and unnecessary tag from create, reply, and forward functions. * Finally fixed Reply-To... it now detects the header value as well as setting the Reply-To header in outgoing messages. * Changed a lot of the html formatting... removed a lot of the ugly form buttons and made them links... Moved some things around and trimmed some unneeded html for a better all around appearance. * Updated attachment reading code for writing the attachment directly to the browser instead of a temp file (kludgey). It is now possible to download an attachment without a scratch directory... however, the name of the filename at this point is not getting specified. * Cleaned up config, and webmail.conf formats removing the now defunct SCRATCH variables and UNLINK_SLEEPTIME and IMAGES_INLINE. * Updated CLEANHTML to create automatic links to the createmessage function next to the normal mailto links... * Added hungarian language pak by Kallai Peter kajla@kredit.sth.szif.hu 2.2.16 Sept 19, 2001 * Updated CLEANHTML with some inspired regexs from CVSWEB =] * Updated language paks commenting out the unneeded variables. * Set the BGCOLOR into its own variable inside webmail.pl * Added @delmessnum array for multiple message numbers for mass deletion. Updated listmessage function changing all the POSTs to GET links... and created a big form for the whole message listing with checkboxes. So now multiple messages can be deleted at once. There is no more reason for POSTS for security since the password is encrypted via Blowfish now. * Removed the sleep function call from within deletemessage (which was unneeded after moving the reconnect out of that function) to speed up mass message deletions. * Imported diff for Net::SMTP support by kkeller@speakeasy.net. * Updated html for listmessage (adding width="100%" for each table defination, and taking out the width="50" for each column). * Added message list limit for a configurable number of messages per page via the $MAXMESSLISTNUM variable. Updated language paks for $LISTMESSAGES_MORE variable. * Updated webmaill.conf and config utility for $MAXMESSLISTNUM var. * Updated Reply-To regex's to hopefully fix Reply-To mangling. * Updated config and webmail.conf so that the SMTPSERVER variable had the correct case. Thanks go to Lyle Lyle@lcrcomputer.com * Paul Hein hein@radarmet.atmos.colostate.edu sent in a suggestion to change the if(/boundary="(.*)"/){ to if(/boundary="(.*)"/i){ for case insensitive matching. 2.2.15 July 13, 2001 * Removed 3 lines in the readmessage function that where dumping the message headers to /tmp/maildump (which was being used for debugging). The filehandle was JTMP, so if you grep for JTMP and find it, remove those lines (an open() call, a print, and an close() call). * Otherwise, just redownload the 2.2.15 tarball. * Updated readmessage function, fixing the To and Reply-To so they actually display the header info. Added To, Cc, and Bcc info to the sendmessage function within the message DATA stream to support CC,Bcc,Reply-To, and to fix the missing To header. * Also updated the html to provide CC,Bcc, and reply-to fields in the message creation. Also rearranged readmessage header info to make it easier to read with the extra fields. Closer to netscape mail look and feel for me. * Added the CC and BCC entries in the language paks (which will need translation). * Portuguese language pack sent in by G.Home g.home@terra.com.br Thanks! * Redid the listmessage function layout and removed two needless functions (print_msglist and print_msg_headers). The output should now scale better with the browser window. * Fixed the spelling of the SEMISPOTLESS var * Bug report from Jan Houtsma (jan@houtsma.net). The username and pass variables where not getting dereferenced for the non_cookie hidden form vars. Fixed. * Updated Italian lang pack from Massimiliano Francario. Began code rewrite. All the functions now accept and pass references where needed for speed and modularity(spell?) Redid a few cookie lines. Identified issue with using encryption without cookies. The encrypt and decrypt functions where sending binary data. They have been updated now to use decrypt_hex and encrypt_hex. Thanks again to Steve Head (shead@onthe.net.au). * There is now only one pop connection, a reference is passed to each function that needs the connection. Changed a few things around in the main body, just cleaned up a bit. * Upper-cased all the variables in the config files for easy identification. This will require all configs to be upgraded (!!!). * Added 'devel' directory housing all the functions for later merging. This might make testing new additions easy without having to wade through the whole program. Inside devel directory is a make_new quickie for just putting them all together. * Thanks to Stefano Selleri (selleri@ingfi9.det.unifi.it) and Eric-S Lachance (eric@ericsl.ca) there are now Italian and French language packs. I moved all the language files into their own directory, language_paks. * Based on diffs sent from Brendan Kehoe (brendan@zen.org), added reply-to and date support to message list, new mesage, reply, forward,etc. Added various bugfixes from his diffs. * Added Dutch language pack from . suggested adding recipient split by comma as well as semicolon. He also suggested setting the FROM width to a static 5%. Moved logout button below the delete all button. * Added multiple recipient code for sending, forwarding, and replying. Also fixed the return statement from the decrypt pass function. Thanks for the heads up lbauer@sirus.com. * Added Crypt::CBC support that works in conjunction with Crypt::Blowfish. This eliminates the 8 character password issue. Fixed cookie code so that it actually uses the settings and values from the conf this time (oops =] ). This is just a bug fix release. * Added upload form field to reply and forward screens. Updated the spanish language pack. * Added cookie support for session management and authentication. The old method will work. Alot of people have asked for cookie support. Note, the new code is not pretty, but I am quitting for the day =] Someone take a look at the incoming attachment code. * Outgoing attachments seem to be working well enough to turn it on in the release. There are a few issues (which may or may not be features =]): ASCII attachments are appended into the email, whereas binary attachments are actually attached. * Built the multiple language support back in so that anyone can customize a single file and replace the text with their native language. * A bug has resurfaced for the incoming code. It really depends on the email client used to attach the attachment. Sometimes webmail can read it correctly, other times it cant. alol@sm-as.dk sent in a fix for Fortèattachments. If anyone else sees something that will help read a particular program's attachments... let me know! * Removed initial username || password check and placed in the if/elsif/else checks. This affected the logoutURL from getting correctly printed due to missing password in the post and the check causing an exit. * Changed Uidl call to Head for message checks, per Rod@querix.com's bug report. This bug affected gnupop3d users. * Updated config file to reflect one config file: webmail.conf. * Added the devel code from a diff submitted by Robert R. George for outgoing attachment support. Awaiting response on $type var declarations. * I am also beginning some development on db support for addressbooks and personalized settings. This may or may not make it into the webmail script depending on how secure it turns out to be. If anyone else would like to take a stab and send me your results, I'd be very happy. * modified to use outside config files so it is a little easier to use for severa virtual domains hosted on the same box. by Christopher E. Stith (mischief@motion.net / _pcu_@yahoo.com) * Changed authentication calls for new pop3 client module. Changed listarray call to list per the new pop3client. * Option to change order of message listing from oldest first to newest first. Still to do (make it user option in html, and allow user to specify number of messages to see at one time). * Changed ($username eq '' && $password eq '') to ($username eq '' || $password eq '') again. Somehow it slipped back in during a code merge. * commented out a line in the CLEANHTML sub that was trashing long encoded url's. $text =~ s/=([A-Z0-9]{2})/sprintf("&#%d ... * changed the two substr in blow2plain function for backwards compatibility with perl 5.003 Stefano Selleri * Added blowfish encryption/decryption to the password stored in the html. (optional) requires either Crypt::Blowfish or Crypt:: Blowfish_PP. Blowfish_PP works everywhere but not as fast - visit CPAN. see comments * Fixed (somewhat) file attachment support Better handleing of filenames (thanks to ok@kuegow.de for showing Jason/me the light on the proper headers to send). Also, corrected multiple attachment name resolu- tion. * Removed comment regarding how easy it would be to make my life complete as it is now obviously, complete... * Added 'inline' image viewing of attachments (display image attachments on our background rather than the default grey. - see comments. My indenting/style still sucks anyone have a src code formatter/butifyer :-) Steve Head Steve Head * Added username/password check to sendmessage function - there are a lot of Sanford Wallaces out there... * Added more attachment support -- Stopped forward/reply from quoting attachments * Added function get_date using perl's localtime. * Removed: backticks for date function. * Moved some redundent html to seperate subroutine. * Fixed couple of minor things (c/c++ vs. perl?) stopping it from running under -w * Added: -Taint/-warn flags (now I feel safe) * Added: striping of /\@.*// from username Steve Head * Added: rudimentary File Attachment support. * Added: header display support. * Added: semispotless support (remove garbage) * Added: $debug variable. * Changed: $cgibinlocation/webmail.pl to just $cgibinlocation as it's the same everywhere 2.1.8 Feb 13, 2000 * Added sendblankfullname, conciselisting & Delete All Button. Lincoln Bauer (lbauer@sirus.com) * fixed the HTML and cleaned up indents. wbg (willg@bluesock.org) * added option to choose where logout button goes changed through the $logoutURL variable * fixed bug in reply which didn't remove user name and () from $to email address aka: original $to: user name (user@address.com) becomes: user@address.com. Thomas Moore dozings.com jbic.com # Everything before was not logged in this # file...