Products Downloads Prices Support Company
DMailWeb and CWMail
Common Links
Download Now
Features
FAQ
Customer Comments
Example Gallery
Updates
License
WAP/WML Support
CWMail Links
Email Support
Demo
Users guide
Manual
DMailWeb Links
Email Support
Demo
Users guide
Manual
   


Update Information on DMailWeb and CWMail

The following table contains information on the latest versions of both DMailWeb and CWMail. The table is in reverse order with the latest versions at the top. New versions may appear in the DMailWeb/beta directory prior to full release. If there is not a current build of the latest version for your operating system please let us know by sending email to support-dmailweb@netwinsite.com or support-cwmail@netwinsite.com

Version Date

New Features and Bugs Fixed

2.8e 3rd October 2002

  • Fix processing of & and ! in url's embedded in emails
  • Fix work j-z /otherworkdisk so it includes users z... it was doing j thru y users
  • Fix bug introduced in 2.8b which caused some users to randomly see invalid token errors
2.8d 10th July 2002

Beta Release

  • fixed bug in remote message fetch which could cause the wrong error message to be displayed when user disk quota is exceeded.
  • two other fixes for disk quota related bugs.
  • fixes for various crashes
  • security fix to avoid potential for cross-site scripting attack.
  • ||sig|| is passed out in send template now.
  • ||q_body|| can now be used to check if there is a 'message body' to quote i.e. a reply.
  • fix for error.tpl displaying mail list link when it should have displayed a login again link
  • fixed file handle leak in the manager code.
  • fix for forwarding related problem
  • fix for missing attachment links when inline images turned off.
  • enabled use of 'docmd' globally from any form.
  • fixed wrapping of really long To: headers
  • changed cmd=saveconfig to always lock. Fixes error creating new user with slow pop server.
  • fixed loss of attachments in forward_edit with header only cached messages.
  • increased the limit for max. messages in inbox..

New commands/ini settings.

  • 'stdin_timeout xxx', where xxx is the default timeout in msec. for reads on stdin (windows only)
  • 'verify_diskuse true' to help debug disk quota issues. Recalculates diskuse from files present, compares this to the value stored in user.dat and reports and discrepancies in the log file.
  • 'html_disable true' to disable the display of html in messages.
  • new log option 'log base64' to log encoding/decoding of attachements.
  • 'show_trash true' to override automatic hiding of trash folder when no_trash is true.
  • added cmd=pick_del to easily clear a users pick list.
  • 'quote_attached false' which when set will stop ||quote_body|| from quoting attachments.

 

2.8c 16th April 2002 Second Release Candidate. Fixes problems found in the previous beta 2.8b...
  • updated Sender: header to remove extra domain with poplist_reply true.
  • stopped cmd=menubar from locking user.dat, causing mail not to be checked in dmailweb on login intermittently.
  • changed ||fldlist|| so that it doesn't link to trash with no_trash true in ini file.
  • changed ||h_pri|| so that if there is a valid Priority: header it always gets set.
  • changed cmd=show so it will not lock if page=menubar
  • updated cwmail default frames.tpl to use cmd=menubar instead of cmd=show&page=menubar
  • make sure we get lock on user.dat when setting custom user.dat entries.
  • changed show_article_part so nested end mime boundaries won't break decoding of attachments. Introduced in 2.8b and affected attachments sent by Outlook Express.
  • fixed two bugs in the new send_wrap implementation.
  • command line -version option now shows build number.
  • new ini setting 'no_hr true' to stop <hr>'s being put into cmd=item output.
2.8b 19th March 2002 Bug fix beta release. It addresses problems with...
  • email not being checked on login in some cases.
  • forward edit. To make it deal with attachments correctly. It is now the default forwarding method for new installations.
  • send_wrap which could wrap messages incorreclty in some cases.
  • empty folders being left around when new user logins fail.
  • a few user set checkboxes which had lost their 'stickiness'.
  • rejecting email from users with long email addresses.
  • a malformed email causing a user not to be able to download other messages.
  • loss of user.dat file in some situations.
  • multipart/alternate display of some messages.
  • mime attachment decoding when using footers added by smtp server outside of the mime parts.
  • cookies not being set correctly.
  • the read flag not being set on the next item displayed after a delete from the item page.
  • static utoken generation with no_tcode true on some unix based systems.
  • non display of some attachments following html mime parts.
  • page numbering in when deleting lots of messages.
  • a couple of potential crashes.
New commands/ini settings.
  • Added cmd=reset_rejected which reset a users rejected messages count on the filter rules config page.
  • Added new ini setting 'poplist_reply true' which uses default reply address for primary pop address in ||poplist||
  • Changed default behaviour of utok_cookie false, to not serve utok as well.
2.8a 30th November 2001
  • fixed bug which meant vhost lines with trailing whitespace characters didn't work
  • updated default fwdedit(f), sp_show and sp_edit template files so form entries aren't lost during spell-check
  • added new template variable ||vhost_port||, needed when using vhosts and your web server isn't running on port 80
  • fixed automatic cc, copyself and add signature checkbox behaviour, that had been broken previously
  • added ini setting for smtp server authentication, smtp_auth true
  • fixed forwarding of attachments with cmd=forward_edit and updated default fwdedit(f) templates to give users the option of whether or not to forward attachments
  • added new ini setting diskuse_on_logout true which recalculates users diskuse when they logout
  • added ability to set sort order to arrival from the list page e.g.
    <a href="||b_action||?cmd=saveconfig&sort_on=&utoken=||utoken||&fld=||fld||">Arrival</a>
  • added ini setting 'no_new_users true' which disables new account creation
  • added ini setting 'dump true' which allows dumping of environment/stdin to files, dump.env and dump.in
  • added command line option -test to compliment 'dump true'. CWMail -test will run with the environment from dump.env and use the file dump.in for stdin
  • added new cmd=raw option to display an entire item in plain text. Substitute for cmd=item in item URL
  • fixed bug with truncation of long item lines
  • extended body_add functionality...
    body_add ~command - will spawn 'command' append it's output to every new message
    body_add @file.txt - will append the contents of file.txt from the templates directory to every new message
  • fixed bug so existing users will get correct folder names if admin adds/modifies them via the ini settings new_mail_name, waste_name or copy_name
  • fixed bug when forwarding multiple messages with both mime and non-mime content, that could cause the item body to be lost
2.7t 2nd October 2001
  • When CWMail shows attachments within a message it put links of the form
    http://fred.com/scripts/cwmail.exe/people.gif?cmd=...
    the /people.gif bit in the middle is just to help some browsers know what filename to use if you ask them to save
    BUT some webservers dont like a url like that.
    a new ini setting no_slash_filename lets you turn this feature off if your webserver needs you to do that.
  • Ignore leading quotes in comparisons for sorting message lists on from address etc.
  • Allow $(pophost) in dflt_reply setting in user.dat
  • NOTE: if you are setting up multiple pophost settings in the cwmail.ini for vhost sections dont use an orginal_pophost setting as the two settings are incompatible.
  • Add pre ini read logging  so if something in cgi goes wrong before ini file has been read it can still be logged.
  • Compile for  sco unix.
  • Add :port to ||server|| template variable if port is not 80 so you can run easily on a non standard port.
  • Serve sort_on variable in all templates and sort_field and sort_direction note last two in lang.dat so can be translated for foreign languages.
  • Template changes to serve "caller" and "return-url" for link to NetAuth DMailWeb etc. So that they know what called them and can have a "return to cwmail" link on their pages. Note the same technique could be used for other third party pages or cgi's which will be used with CWMail
  • Fix problem with autolink back from NetAuth. Note you need current versions of NetAuth and CWMail to make this work again.
  • Added ||h_date_mn|| template variable to give month numeric 1 to 12
  • Serve h_date_time and t24 in item init so for all templates displaying a message.
  • Serve h_date_day and h_date_d h_date_y and h_date_m variables in item as well as list pages
  • If extra variable defined in form in auto_login starts with a , dont put an & before it in location url
    This is used to make links to neauth DMailWeb with caller and return url information passed to them
  • Added a return button in DMailWeb list page similar to CWMail link at bottom of list page but using
    the passed caller and return variables.
  • make utokc cookie expire after auto_logout_mins WAS FAULTY NOW FIXED
  • Move change of . to _ in global address book open to after getting user directory so this works with an original pophost setting.
  • Fix address books with 1k+ entries and pick_abook_max > 500 ish - was being truncated at about 500 entries.
2.7s 2nd August 2001
  • Added more meta tags to stop cacheing of login page.
  • Allow page=xx with any command.
  • Added a  process=x so you can do cmd=x&process=y&page=z note this in not generic but will work in most places.
    Sequence followed will be do command x but dont show the normal page it would display. Then do command y
    if no page= display its normal page else display page z.
  • Provide language translation of  "form tag removed" "script tag removed" and "app tag removed" messages
  • Improved get_date in sendf.tpl to use users browser date for sent message.
  • Fix bug with large ||include|| and large pick list.
  • Fix bug causing crash if checksum error on user.dat on unix
2.7q 5th July 2001
  • Spell check problems with large message fixed: On NT lost all but first 512 bytes of message -fixed.
    On unix spell check of large messages caused server error - fixed
  • Improved handling of POP responses for faulty POP servers that start some error replies without the -ERR prefix
  • Changed max address books to 20
  • Fixed goto page x on list page in another folder - always went back to in box added fld=||fld||
2.7p 26th June 2001
  • Don't loose the to field in spell check if message is to self :-)
  • In tidying up reply list in replyall if we end up with nothing leave it alone :-)
  • obey page= on forward edit and forward
  • added h_cc and h_bcc to "your messages to ..."  sentok message
  • Added a_cc similar  to a_from,  a_reply etc.
  • Fixed bug causing occasional crash on solaris
  • Stupid IE does not recoginise &apos; but wml browsers need it so only do it if in wml mode
  • Fix bug with hrefs in emails with @ in them.
  • Set  ||logged_out|| so they get login again option in error.tpl
    for cookie expired and bad utok errors.
  • Fix it so wap doesnt chop for bodylimit in middle of &#nn; sequences
  • Fix bug which occured on some systems if user  had more than 10 folders
2.7o 7th June 2001
  • Change default to tcode true. Note if you want to login from a fixed login page (rather than normal generated one) you need to add ini setting no_tcode true to .ini file.
  • Keep old tcodes for longer to prevent cached logins.
  • Added new template variables
    h_date_d 1 to 31
    h_date_y 2001 etc
    h_date_m jan feb mar etc.
  • Dont use &#34; use &quot; and &apos; instead as some wap phones or gateways dont like it.
  • Change ini setting set_charset now defaults to true; Used to set special charset for displaying foreign characterset messages.
  • New template variable ||charset|| set by charset in content-type in msg header use in item.wml
  • Set u_eight_bit if phone is nokia7110 or 6210 so they show greek characters properly
  • If u_eight_bit if set in user.dat then dont turn chars greater than 127 into &#nn;
  • Added encoding=||charset|| in item.wml in xml line to force special encoding for greek in wml
2.7n 18th May 2001
  • Fix bug in address book lookup, with two entries like ph=fred and aph=bill  then it would find aph when it should find ph
  • When myfrom true on forward remove cc from original message
  • Ignore case in address book sort
  • Added nosortaddr user option for config page. default false
  • In wml mode $ in a message is now turned into &#36;&#36; as need $$ to represent a single $ symbol
2.7m 8th May 2001
  • Unless new ini setting empty_passwords is true immediately reject an empty password field.
  • In show item for wml dont put in quote body char and dont put in br in quote body
  • New ini setting no_cmd_url  if true stops it using cmd=url url= for http links in messages as that seems to fail on  some web servers
  • Fixed bug which mucked up boundaries between multiple attachments
  • DMailWeb item.tpl change http:// to ||http||
  • Add into purge on manager page option to kill accounts unused for x days. USE WITH CARE   - NO UNDO
  • Fixed bug v_exec true on item page was seting v_asis 
  • Make max attachment limit total of all attachments rather than individual attachment sizes.
2.7l 5th April 2001
  • Added  new ini setting pop_busy if this string is  found in pop login error message then wait 1 sec and try again
  • Added new ini setting pop_retry default 1 - how many times to try again for pop login
  • Fixed bug - If remote_body header flag is lost then regenerate it and warn user.   ie if we find an "I9: cached message body..."  as a message body then set the rbody flag so it auto fixes it.
  • Allow vhost= in queries. So they can have pull down list of domains in login.tpl
  • Fixed bug in handling of base64 encoded html attachments. Remove spurious end of line chars.
  • Fixed bug - must try and lock even for show item as may need to update diskuse.
2.7k 29th March 2001
  • Added new ini setting fix_from true/false default false. If true then when sending email any chages to reply-to field are only used for reply_to header within the message, they are not used in the from header, either on the envelope or inside the message headers.
  • Fix bug recently introduced which messed up diskuse figures. as in disk_use_kbytes used on login page.
  • Recalculate disk_use figure on show folder list command.
2.7j 28th March 2001
  • Added ini file option to set streaming of top commands to pop server.
    stream_max n with default of 1
    by sending more than 1 top command at once better response time is provided when a large number of new emails are present. BUT some POP servers can't handle this! A good place to start is 10
  • Log serving of gif images via cgi
  • Allow an option in auto_login ini lines. If extra starts with a , append it directly to cmd=autologin thus
    - for autologins records in ini file if extra starts with comma putit in as is right after
    auto_login 1 netauth.exe $(workarea)/../netauth show=passwd.tpl ,fwd1
    will send ...netauth.exe?cmd=autologin,fwd1&user=username&pass_file=workarea
  • Added an auto rebuild of index of folder if messages there but no index.dat - this was so sysadmin can kill some message and index files himself with a problem.
  • Allow saveconfig hidden variable in login.tpl to allow login and saveconfig all at once so you can
    enter real name etc etc all on login page if you want to.
  • Fix bug causing multiple attachments to not be displayted properly in some situations.
    Multiple attachments one html which is not the last then folowing ones are lost and html is corupted if inline images is on.
  • Fix bug delete of address book was not being saved.
  • Accept auto_cc in forward.tpl as well as in send
  • Fix bug in install of WAPMail option
  • On a checksum error and create new user.dat tell them it was checksum error and old settings saved as user.lost with checsum flag removed so sysadmin can be rename it   user.dat to restore old settings.
  • Fix bug in log send so that all outgoing commands are logged, including top, stat etc.
2.7i 13th March 2001
  • Read pop_cur on config save as well as list so you can set default pop host on config page.
  • If use myfrom set on forward then remove date header put now as date and dont add a resent_date
  • Don't delete files for new user with bad password if they already have an inbox - not that that could happen :-0
  • Rewrite locking routines: Limit force user lock to just login and logout. On the rest we try and set readonly if we don't get lock
    add new form variables must_lock and read_only to force readonly or lock on a command.
    make item command read_only ie no lock needed.
    ini setting nfs true for shared nfs drives as need different lock mechanism.
  • Tidy up sending for obscure solaris send bug
  • Fix bug causing unecessary rewrites of user.dat
  • On auto add to address book we only add addresses we "send to" for pick list we add from addresses also.
  • Serve out autoadd and autoadda variables in all templates = checked or empty
  • Add new log options send and form
  • New testing ini settings
    pause n           pause for n seconds after getting a lock
    pop_delay  n    make pop response delay by n seconds
    lock_force_wait n wait for n seconds before freeing a lock
    nfs true/false    if true use nfs style locking
    lock_wait n       wait this long for a lock before giving up. default to 5 secs
  • Documented original_pophost setting
2.7f 1st March 2001
  • Add log send option and more error logging to send function
  • Fix bug with % in address book causing death of cgi
  • Added to registration form request for information on worst feature or most annoying aspect of product to help in continuous improvement plan.
  • When saving rules miss out empty ones  ie those with no rule or nothing to search for.
  • Change cgi and templates for config and login to use setcookie instead of set_cookie as now set_ in a variable name means set the following variables value  ie set_fred sets variable fred. This was stopping auto-login from working on latest versions. Another work around without changeing cgi was to change variables in templates to  set_set_cookie   
  • Added an ini setting lock_old secs. default is 300   Lock files older than this are ignored. ie this sets time to free an account after a problem. Too short and it may just be a slow pop server or slow link to user. To long and you have to wait a long time for an account to free up.
  • Make default for lock_wait 5 secs. If cant get a lock in this time return an error. Saves having many cgi instances waiting for locks.  Too small a value will produce cant get lock errors. Too long will increase load as multiple copies of cgi can be waiting for a lock.
2.7d 23 Feb 2001
  • Added more error logging for log dotlock option
  • DMailWeb builds other than nt and linux were missing the wap .wml files
  • Fixed bug ||set||fred||bill|| did not work unless it was at start of a line :-(
  • Fixed bug with line with " in it in new message on return from spell check it produced extraneous output
  • Fixed bug if using  language  translation then rule action of move did not work, others did
  • Added a log option of rules
  • When retrieving headers such as subject allow for embeded CR character
  • Fixed bug with translation of the names of headers, if there is a translation only use it in display, dont use it in matches as header names are always in english inside messages.
  • If to field is set in send.tpl  serve a_from as well as an h_from so click on email link inserts to field correctly
  • Fix bug causing print button in item.tpl to fail on some systems. in printwin we had ||http||||server||/ + url / was wrong - deleted it now we have var nurl = "||http||||server||" + url;
  • Trap kills from webserver so we dont leave files locked on attachment download aborts. Saves users waiting 5mins for lock timeout.
2.7c 12 Feb 2001
  • Give better error when cookie based utoken not found
  • Change to  require_cookies false for new installations as causes problems when testing with flaky browsers
  • Fix bug introduced in 2.7b with new message command
2.7b 8th Feb 2001
  • Fixed HTTPS bug. When serving image attachments make url use https rather than http when running from secure server
  • Updated locking. When locking user files wait just over 5 minutes for lock and consider files more than 5 minutes old dead.
  • Added template variable h_isforwarded which is set when  message is forwarded.
  • For addresses in pick list increase max length of an address from 90ish to 255
  • Note with some web servers where ||server|| is not set correctly you can replace this in templates with ||vhost|| and use the ini setting match_vhost HTTP_HOST to force the correct name to be used.
  • improve random generation of utokc cookie
  • When cookies are domain specific make them use domain=g_vhost rather than the server_name
  • Updated ||do description in manual
  • Allow cmd=delsel in post as well as query
  • Add ||logged_out|| and use in error.tpl to say login again rather than mail list if logged_out is true
  • WAPMail price change
  • When license is unlimited say so rather than limit is 0 users as it confuses people :-)
  • Change error message so expired utokc gives expired error and doesnot die on logout request
  • Make http: links in emails terminate on > as well as other seoperators
  • Stream TOP commands when talking to POP server to speed processing of large numbers of emails.
  • Changed time sent to browser for cookie expiration to gmtime rather than localtime as browser assumes gmtime
  • Added ini_setting read_flag default value of O for opened, some servers use R for read and will need this
  • Set nnew_sl = 0 AFTER getinfo on login.
  • Fixed bug. When forwarding multiple messages with added note only first line of note went with
    those other than first message.
2.7a 15th Dec 2000
  • Added new ini setting extended_index true/false
    if its false which is default then message indexes are compatible with earlier versions. but status header is not saved and hence cant be used for determining message read status from pophost.
    If its true (default for new installations) then returning to version 2.6k or earlier will cause a crash
  • Fixed bug which prevented adding a child from another vhost domain which used @ in suffix
    You can now provided parent adds childs full email spec in form child@domain@pophost
  • Added new ini setting fld_maxlength default 14
    limits the length of foldernames accepted by f_newname used in folder list
  • Added an no_sender ini setting default false if true dont send a Sender header in emails
  • Fix bug which caused extra blank rule lines to be added on every save on some foreign languae systems
  • Fix bug which caused some attachments with chinese file names to be unclickable
  • b_send works again - it got broken in a recent release
  • Extend wait for  getting a lock to 5 mins to allow for opening ver large inboxes on slow pop servers
  • Fix bug (added in recent version :-) which prevented set_passn being picked up  - ie stopped poppassd password change link from working
  • Make cookies domain specific unless they add ini setting  no_cookie_domain true
  • If myfrom true then remove reply-to and to as well as reply headers and change to field to recipient rather than forwarder
2.6z 23rd Nov 2000
  • If child save fails remove current child from list of  children
  • Added template variables for selected rules for actions eg copy_sel = "" or "selected" this allows reduced sets of rule options to be provided. eg copy allowed but delete is not.
  • Don't allow children to be parents :-)
  • Fix bug causing token error for new users coming browser with another user logged in.
  • Force saved username for main pophost to the one used on login
  • Fix error writting checksum endofline to user.dat - prevented first added setting from being seen eg child
  • When appending to user.dat always add line to turn checksum check off      ----     has_checksum 0
  • Fix problem displaying multipart non mime message
  • Set ||http|| variable to http:// or https:// based on HTTPS=on env variable  - was based on Protocol env variable which is often set to http when its really https
  • Save users check all pop hosts setting    - lost save in version xxx ???
  • Remove more illegal chars when printing to wml and replace with #
  • Don't print the href to go with click here to login again message if lang trans < 5 chars   - so lang.dat  can be used to remove the link altogether if desired.
  • Don't forward status headers - as they are meaningless on a forwarded message.
  • Make  compare for  fwd: from message  case independant
  • Add an ini file log option  for log query_string
2.6y 8th Nov 2000
  • Add ini seting no_checksum  default false to stop it doing checksums when reading user.dat so third party software can add settings to user.dat without worrying about checksums
  • Rename PasteAdd to  pasteadd in forward.tpl etc to avoid confussion
  • Changed body_add to http://netwinsite.com/rightplace.htm to avoid customers customes emailing us for support
  • Added ini setting set_status which can be used with rset true to make it to only download headers and use rset to stop them being set as read. and then download body on read without rset so that we set the flag properly
  • Added ini setting read_status should be used with keep_index false to make it always reload message index and headers from pop server so that we see changes to message read status header. It sets our flags read flag if status header contains O for opened.
  • Return blank utoken if action results in logged out so it can be used in error template to remove mail_list options if logged out.
  • Make the "this message was too large to download..." a lang.dat changeable message
  • When chunking message on wap phone dont go back more than 16 chars when looking for a word space
  • Don't put an end of line after ... in roffset    In template use paragraph tags round body.
  • Added a cmd=lg&url=xyz which does logout and go to url using location: header 
  • Added next section link for chunked bodies to item.tpl
  • Added a limit_list ini setting default false. If true then when serve list of message stop when body_limit chars served. Usefull for wap browsers with small storage space.
  • Fix bug in body_limit calculation which was unecessarily conservative in stoping.
  • Add template variables bn and bp for roll your own bnext bprev tags.  They just contain item number so you can use ||b_action||?cmd=item&item=||bn||etc     needed in wap templates to conserve space.
  • Do address book and local address add domain on to and cc before putting in sent message header.
  • In a_from and a_reply  use a tidyup which removes nicknames < > etc from address so they can be used in .wml templates.
  • If user.dat lost message try a rename user.dat to user.lost just incase it has some stuff in it that sysadmin can recover
  • Fix bug wml_page_size and page_size set on login template was not being saved on login
  • When we find query or form variables called set_xxx then as well as setting variable xxx
    change form or query name to xxx so if its u_ it will get stored and overule value from user.dat
2.6v 17th October 00
  • Added new ini setting lowercase_pophost ini setting
  • Added  nosortpick user option default false. Serve ||nosortpick|| Set from config page
  • Added new template variable h_from_trim2 like trim but if it ends up as ralph@mcduff return just ralph
  • Note v_myfrom is read from forward.tpl so if not a tick box and want default true then you need to make it a hidded field
  • Fixed pophost=mailhost on login does not give error sorry this ... if force primary true
  • Added example match and highlight lines to ini files and listf.tpl
  • Allow match from "!ralph" to invert sense of ini match line
  • Note in match header string ini setting  _flags fake header can be matched for read,unseen,new,file strings
    match _flags "!read" tread bgcolor=#220000
    could be used to hilite unread messages
  • Added to log ini file options: cookie   log options available now are:
    cookie,user_rw,locks,dotlocks,query,environ,purge,body_limit,top_reply,stat_reply,uidl_reply,list_reply,index
  • Add ini setting no_rename. Default false. If true we  assume renames are not safe ( for example on some nfs drives with multiple hosts) and use an alternative method for updating user.dats
  • Added checksums to user.dat reads writes
  • Fix some bugs in handling errors when reading user.dat
  • Dont use cmd=url&url= inside attachments and html messages - caused other problems and not really needed.
  • Changed to refresh... meta tag instead of location: for cmd=url as original referer information is still passed for location header
  • Make utok_cookie true by default - update docs, ie in general use cookies for utokens where possible in preference to storing in href.
  • Also terminate http: ref on  " character
2.6u 4th October 00
  • Added new ini setting require_cookies if set it uses cookies for utokens and requires utokc cookie
  • Updated locking code for solaris nfs shared drives
2.6t 3rd October 00
  • Add further security options to protect against stealing referer url when from ip check can't be used.
  • Implement noscript and noform etc checks in multipart mime messages
2.6s 29th September 00
  • Fixed bug causeing rubish characters on list page when subject contained %%
  • Demote cant remove error in rebuild index as is often normal behaviour
  • In quote_body dont show html sections of multipart mime messages
  • Allow choice of (previously selected set) on login page  for template set to use
  • Use language transaltion even if we dont know user yet. ie errors on login
  • Fixed bu  with mutipart alternate followed by text part in mime. It was not displaying following text parts
  • Added new ini setting for fixed_folders which cant be deleted. It is a wildcad list
  • Added new cmd cmd=url&url=xyz
  • Make hrefs in emails use the command above
  • Fix bug in ||quote_sbody|| as used in sendf.tpl for editlive
2.6r 19th September 00
  • modified utoken generation
  • Remove unecessary lock messages in solaris
  • Added command rejsel like delsel only also adds from  address to reject_from list
  • Serve ||reject_from|| on list page as well as config pages
  • Added annotated user.dat user_dat.txt to help people setting up default.dat
  • Increase max messages in a folder to 5000
  • Fix bug which prevented use of & in usernames
  • Added new ini setting no_delete xyz if set then delete rules with contains in xyz are rejected
    so sysadmin can prevent filtering of messages from important people ( like sysadmin :-)
2.6q 11th September 00
  • Fixed problem with file locking on solaris nfs drives
  • Fixed loss of mail body on forward of multiple mails some with multipart mime and some without
2.6p 8th September 00
  • New ini settings and support for cmd=send_auto_login. This allows transfer between cwmail,dmailweb,webnews,netauth,webmail,webnews and DBabble with auto_login provided same authentication method is being used. The  new listf.tpl has links to these other products at the bottom of the page which will work if the other products are installed on the same server.  The sample ini settins added are:
    auto_login 1 netauth.exe $(workarea)/../netauth show=passwd.tpl
    auto_login 2 webnews.exe $(workarea)/../webnews
    auto_login 3 dmailweb.exe $(workarea)/../dmailweb
    auto_login 4 webmail.exe $(workarea)/../webmail
    auto_login 5 $(server)f:4141/cgi/dbabble.cgi $(workarea)/../dbabblesvr/work
    with the following calls in listf.tpl:
    <a href="||action||?cmd=send_auto_login&n=1&utoken=||utoken||&&">Netauth</a>
    <a target=||top|| href="||action||?cmd=send_auto_login&n=2&utoken=||utoken||&extra=frame%3D||frames||&&">WebNews</a>
    <a target=||top|| href="||action||?cmd=send_auto_login&n=3&utoken=||utoken||&extra=frame%3D||frames||&&">DMailweb</a>
    <a target=||top|| href="||action||?cmd=send_auto_login&n=4&utoken=||utoken||&extra=frame%3D||frames||&&">Webmail</a>
    <a target=||top|| href="||action||?cmd=send_auto_login&n=5&utoken=||utoken||&&">DBabble</a>
    $(workarea) translates to cwmail/dmailweb workarea
    $(server) translates to something like http://whatsit.com ie http or https and server name
  • Accept $(user) as first part of dflt reply and change into username
  • Fix bug with smtp_port ini setting not being used in some situations
  • Added new template variable ||http|| taken from start of env variable SERVER_PROTOCOL upto space/cr etc either http:// or https:// or wml://
  • Added cmd=fld_create so it can be a query or a post
  • docmd is now ignored if we are trying to display an error
  • Improve error reporting when key fails
  • Better key support for server farms
  • Fix file locking problem occuring on some solaris versions
2.6o 22nd August 00
  • Use ilayer in item.tpl to make netscape show background images in html messages
    - still no equive for ie
  • Line too long wrapping demoted to debug message instead of error message so user does not see it
  • Improve key handling for server farms
2.6n 14th AUgust 2000
  • Remove redundant <pre> /pre> tags when not printing text part of multipart alternate message with text and html versions.
  • If  =cid:nnn  in html section of multipart mime message and have a mime part matching put in link to it.
  • Make links to embeded images absolute so that base settings in html dont stop them working.
  • Don't display text part on multipart alternate even if not inline images set
  • Change default to force_primary true for security reasons. Note this will mean to use pophost field on login page sysadmin has to set force_primary false in ini file.
  • Fix bug causeing loss of setting for delete from server for main pophost when user enters wrong password.
  • Fix bug causeing occasional checking of wrong key  on large systems with CWMail and DMailWeb installed.
  • Added new ini setting
    match headername matchstring variablename htmlvalue
        eg. match from @netwin fromnetwin bgcolor="#EE0000"
        would create a template variable ||fromnetwin|| with value bgcolour="EE0000" on lines in listf.tpl
        which have a from header containing string @netwin
  • In non frames fwdedit.tpl remove defaults for to cc and bcc as generally not wanted
  • When forwarding if they have usemyfrom ticked remove sender header as well as from and reply headers
    and remove original reply header
  • Allow multiple rules to process the same message - unless action is delete :-) so make delete last one :-)
  • Fix problem caused in 2.6m which changed nnew calculation. We now have  nnew_sl which is number of
    new since last login and nnew which is number new on this check which is used for beeping on new mail
2.6m 20th July 2000
  • Limit address book names to 100 chars
  • Don't try and display inline images in wml mode
  • Enforce limits on rule fields.
  • Added new template variables a_from and a_reply which are address only part of h_reply and h_from these are used in send.wml as wml cant handle the "name"fred@a.com form
  • Added if child address entered withour host then @pophost ini setting is added to form full child address
  • Fix bug with forward and added note of multipart/alternate messages.
  • Remove x-uidl on forward
  • On forward don't put in resent-cc if its blank
  • Show a forwarded by x to item.tpl and a new template variable h_resent_from  to support it
  • In forward with added note if original message was multipart say forwarded message is in next mime section rather than forwarded message follows
  • Fix spell checker to work with arabic dictionary
  • Fix display of simple base64 mime text/html message - it was showing up as an attachment instead
  • Note nnew is number of new messages since login. This number is reset on login and incremented on each check mail.
  • Added new template variable ||fuser||  Note: ||user|| has no prefix or suffix and ||fuser|| has full user with sufix or prefix
2.6k 6th July 2000
  • Default .ini files now have force_primary true This forces users to login to primary pop_host first
  • Don't read wrap messages inside a &#nnn; sequence as it upsets some wap phones
  • If utoken not available just go to login page
  • Fixed bug in nhash 2  username hashing both : and / encoded as _J now using _0 for :
  • Removed +++ extra debug error messages left in 2.6j
  • Speed up response to incorect or invalid login name
  • When html encodeing template variables encode " as &#34; so it will not terminate a="||variable||" in javascript. This was causeing reply screen for frames version of CWMail to show strange sequences when used with editlive capable templates and messages which included a " character.
2.6j 21st June 2000
  • Fancy erikson r380 templates added fro WAPMail
  • Fix bug - h_subject_n truncating in middle of &#nnn; string
  • Increase MAXATTACH to 4
  • *** Added functions to allow user to move from within CWMail to other web pages and then return without
    logging in or keeping utoken
    In ini file add setting utok_cookie true
    - then we serve utoken as a cookie on login with a 1 hour timeout and accept in queries and posts without utokens
  • Added command line use of CWMail thus cwmail.exe -ini inifiletouse
  • Allow command line -query "cmd=login&user=username&pass=password" returns +ok utoken or -err message
  • Allow command line -query "cmd=check&utoken=tokentocheck" returns +OK or -ERR
  • no_tcode true added to default ini files as ie5 doesnt refresh home page even if told to
  • Added allow. ini setting to allow . in usernames.
2.6i 12th June 2000
  • Fix problems with user.dat locking
  • Add log  user_rw,locks ini settings
  • Added ini setting no_locks to disable user.dat locking
  • Fix editlive.tpl and sendf.tpl to fix javascript error when no editlive and return to non wysiwyg mode
2.6g 9th June 2000
  • Honour body limit in text part of multi part mime messages
  • Serve out ||user_dir|| for all templatess where user is known
  • Don't allow multiple lines in username and password passed to POP server
  • Limit length of username and password to 230 chars
  • Added delay to lock free
2.6f 7th June 2000
  • Fix bug popall setting was not saved in  user.dat
  • Fix bug iso true was not being honoured in wml mode
  • Unix version of WMSetup was not copying editlive.vbs and editlive.js into nwimg directory on web server
  • For wml mode and multipart alternate with text and html just display text version
2.6e 31st May 2000
  • Add ||quote_sbody|| for html version of ||quote_body|| which looks for ||sbody||
  • Fixed forward and delete "cant find uidl..."  error
    serve real_name in all templates
  • allow page=xxx in cmd=checknew and list
  • Improve file locking for shared nfs drives
  • CWMail frame version allows user to use a wyswig editor and editlive plugin for send message
    sends as multipart/alternative
    Needs editlive.js and editlive.vbs in /nwimg and calls editlive.tpl|
    automatically provides link to download or register editlive as needed
  • WAPMail option included in download
  • Update .wml templates and add special set for Erricson R380 automatically selected on login
  • Assume register for WAPMail is done from html browser
  • Allow $templates at start of tpl_set n  ini setting. Eg
    tpl_set 2 $templates/tpl_r380
  • Added ||wyswyg|| variable stored in user.dat used in sendf.tpl and config page
  • More buffer overun protection added.
  • Increase max template sets to 30
  • Fix bug with WAPMail keys
  • Protect against template requesting more attachments than allowed
2.6d 17th May 2000
  • Don't quote body if content type text/html
  • In quote body don't do href and email links and wraps
  • Fix bug so that rename etc for folders 0,1,2 is not shown even if begin_flit is used twice in one template.
  • Serve out ||roffset|| if we truncate a message body due to body_limit and when serving message body start on line containing roffset character
  • make body_limit work in quoted printable messages
  • Modified item.wml to provide a next section command for truncated messages, truncated due to body_limit (wbl) uses
2.6b 12th May 2000
  • Trim leading and trailing spaces of usernames
  • Serve ||last_login once||  per session
  • Serve ||remote_addr||
  • Serve ||upto|| and set upto in listf.tpl form so that delete etc return to same page
  • Fix various bugs in spell checker
  • Fix manager page error of maxwild exceeded
2.6a 10th May 2000
  • Include WAPMail in download and install options in WMSetup
  • Include support for WAPMail keys
  • Include all characters sent to browser when checking message size against body_limit
  • Log security attacks on cgi
  • Fix bug which leaves empty directories from failed logins
  • Remove target=xyz in wml mode as this is not supported in wml
  • In wml mode dont display email headers
  • Don't show headers in gwml (not enough space generally)
  • Use local variable $(ut) = utoken=||utoken|| to save space in item.wml could be used in other .wml templates
  • Fix date and to headers served out for forward success page - caused crash when in copies to self folder
2.5e 4th May 2000
  • Fix security hole
  • Added iso ini setting translates chars 128 to 255 to &#nnn; for wap browsers default false
    note this conflicts with allowing two byte chars delimited by first one negative but these dont appear to be used by wap browsers
  • Translate $`|{} and char 127 to the &#nnn; equivalent if in wml mode as these all upset the motorola wap phone simulator
  • Allow date_fomat ymd as well as dmy default mdy
  • Add print button to inav.tpl
  • Add check all hosts option to config.tpl non frames version.
  • Fix possible solaris crash on forward
  • Fix parsedate to recoginise daylight saving correctly in cst cdt etc.   
  • If bcc or cc field show to field in item.tpl   
2.5d 27th April 2000
  • Add more debugging options for purge and tidyup operation of purge
  • Add to log settings for any of the below as a list
    log purge,index,top_reply,stat_reply,uidl_reply,list_reply
  • Change item template to show to field if folder is copies to self
  • Fixed bug causeing loss of last char in address book on linux
  • If spell check message thats too big dont die or truncate
  • Accept lines in user.dat up to  2048 instead of 512 characters longe
  • Added ||popall|| config page setting if set on checknew check all pop hosts not just currently selected one
  • Update wml templates to work with motorola madk
  • For wml encode $ characters inside text messages
  • Fix bug in rules display added in 2.5b or c
2.5c 11th April 2000
  • Change   pop_delete_default to false in wml.ini sample
  • Accept login pophost setting of mailhost as "" so it can be used as a prompt on wml phones
  • Added cache-control nocache header for wml
  • For raq3 webservers that return everything up to ? as arg0 trim off possible file name before looking for ini file name Was causeing errors on attachment links.
  • Change body_limit variable name inside forms to wbl ( needed it shorter :-)
  • Remove help cmd from login.wml page as no usertoken. should make dedicated help part of login page
  • Fixed bug in option login on login.wml page. It gave error no username entered.
  • Put <br/> between lines in wml messages
  • Improved error handling for do_cmd on unix
  • Fix bug which stoped multiple global address books from being used.
  • Improve locking for unix with shared nfs drives.
  • Fix bug causeing occasional core  on solaris on  send
  • New template variable wml_page_size use when wml true and check for page size on login so user can set different page sizes for for ordinary browser and wml browser
  • Allow different lang.dat for each template set
  • Improve log layour
  • Fix bug introduced  in 2.3u causes error "Message not found on pop server (uidl) maybe it has been deleted" in some situations.
2.5b 27th March 2000
  • Added a delete msg option and href to item.wml
  • Updated listf.tpl for CWMail
  • Allow for more date formats in parsing date header
  • Added logout_time ini setting - changes time of day that utokens roll over default is midnight offset can be either in seconds or in hours:minutes
  • Look for body_limit in form before serving a body if present use it to overule ini setting so can set different body limits for different phones see list.wml for an example
  • body_limit is set at login (if in form use value) if 0 no limit
  • Put back change of cmd=send in query serves send.tpl ( I'd changed it in 2.5a) cmd=send in query is really cmd=new whereas cmd=send in a form is really dosend
  • Fix rare crash in forward with more than 1000 selected msgs
  • Update user locking routines
  • Change back to forward instead of forward_edit for forward link in listf.tpl stuffed it up in 2.5a
  • Fix bug in email links in messages introduced in 2.5a :-)
  • Fix various solaris cores in unusual situations
2.5a 10th March 2000
  • Disable inline and view as html if wml set
  • Add support for wap/wml and a wml template set for cell phones see wml.htm for details
  • Add wml true/false ini setting default false - looks for .wml rather than .tpl changes content-type etc.
  • Added body_limit x ini setting to limit size of body sent to x chars. Default is no limit
  • Added template variable ||t|| as time in secs mod 99 so that we can use to make hrefs unique to stop wml devices cacheing them as cache_control header is ignored :-)
  • Added serve h_from_trim in all item displays
  • Added prefix setting
  • Added ini setting lock_id for server farms. If multiple machines are sharing a CWMail workarea then each must have a unique lock_id string
  • Added set date and to headers for sentok template
  • Added ini setting smtp_port default 25
  • Added support for cmd=new, checknew and logout as  post options
  • Fix CWMail listf.tpl so you dont get errors on older versions of browsers without javascript
  • When reading ini file accept cr as well as lf as endofline char
  • Allow $pophost as ini setting for smtphost
  • Fix listf.tpl for mac IE initial collum of list blank due to IE bug sees <script... as implied td data
  • Fix bug causeing crash for forms with more than 1000 fields.
  • Fix listf.tpl in CWMail so scroll page bar at least does not give errors on mac
  • Change sendf.tpl in CWMail so picklist works on mac
  • If error getting message but got some dont give up on it just give error and keep what we got.
2.4e 11th Feb 2000
  • Fixed bug causeing error messages to sometimes be displayed as just Error: Content-type
  • Added a simple add address book button and form to address book page pickf.tpl for CWMail
  • Added template variable abook_only which stores current address book name and if this is set then picklist only shows one address book and public entries
  • Allow public address book entries to contain just addresses as well as name=address
  • In address picklist as long as its not fred=a,b,c then set value = address not name
  • Allow sort_on to be set in login.tpl and if ="" dont save sort_on so can make sort order revert to "on arrival" on login
  • Major upgrade of autopurge system - fixed several obscure bugs
  • Added to purge: empty trash if empty trash on exit set
  • Lock and release each user during purge to stop confilicts.
  • On address book save check global address book entered can be opened and give error if cant open it.
  • If gaddr_books field in pick.tpl form then set global address books to this - blank entries were eing ignored
  • Accept messages with identical message id's but different uidl entries as different
  • On login if pop_host entered and not = pop host 0 in user.dat then update user.dat as it implies pophost name has been changed.
  • Add check in pickf.tpl for editing blank address book
  • Only apply check_mins to pop host 0 or they can't check other hosts straight after each other
2.4d 1st Feb 2000
  • Fixed bug which caused server error on solaris and invalid password on some systems
  • Added check for frame=true in auto_login
  • If revert to pophost0 and its invalid don't try pop login as NULL user
  • Serve pop_user0 and pop_name0 in all templates
  • In send.tpl in picklist of addresses limit display to 40 chars but support entries up to 1000 characters in length
  • Various minor obscure bug fixes to prevent crashes in unusual situations
  • Added "are you sure" button for reject all future email from xyz
  • Seve out h_sender h_sender in message and list templates
  • Remove everything but actual address for addresses added to reject list
  • Added construct ||fred||esc|| which is replaced in template with url encoded value of fred
  • Modified frame.tpl to pass thru ||error||
  • Set ||error||  in any template served after an error. So can always display error even if error.tpl is not served as result of error.
  • Remove limit on size of parts list for multipart mime messages which caused messages with lots of parts (10+) to fail to display
  • Sort address book on save
  • Empty trash on login if last action was > 2 hours ago and empty_trash_on_exit true. Note this failed previously failed on frames version
2.4c 17th January 2000
  • New template variable in sendf.tpl h_priority  contents included as Priority: header
  • New option for recording nuber of times each template is served. If ini setting stats is true then every time a tpl file fred is served a "+" is appended to file in stats_path if defined or workarea stat_fred_tpl.s
    so file size gives number of times that template has been served.
  • Bug fix: Dont set set unseen flag for copy to self
  • Added ability to include a file whos name is defined by a user variable, syntax is ||include||$uvar1|| etc. $uvar1 is replaced by its value eg nfmenu.tpl
  • Added support for a dflt reply to pophost rather than domain. Syntax: allow $pophost in domain setting in ini file or default.dat/user.dat so dflt reply can be to pophost entered on login
  • Change license expires message to after end of February rather than after 31st of February :-)
  • Fixed bug in for CWMail send_date javascript did not cope with year of 100 returned by netscape - fixed
  • If already shown one template don't display error.tpl as well
  • Added if error_do set in template then on error do this cmd instead of showing error.tpl ||error|| should be in template which will get displayed. Eg  in send.tpl adding <input type="hidden" name="error_do" value="list"> would return to send page if to: was not specified
  • Added ||variable||left+||n|| construct to give say gday... instead of gdaymat for gdaymate||left||7
  • Added scrollable page scroll bar for CWMail list pages
  • Added transparent pictures for attach0 etc so they dont mess up list page with non white background
  • If Subject is just white space then serve lang_get (no subject) instead so they have something to click on in list.tpl
2.4b 20th December 1999
  • Added if ini setting for body_add is from_template then pick that up from send form
  • Added ini setting no_pick_in_tolist to remove picklist from tolist (note pick list is in topick)
  • Updated pickf.tpl pick list  is a pick list ( NOT editable ) click elements to add to address book
  • Added pop_cur=0 to login.tpl to make it default back to main pophost on login
  • Make autoadd of addresses to address book use  /naddress rather than address/n
  • Allow u_anything=whatever on login call so these variables are served out to login.tpl as well as other forms
  • Make max size of uvar1 to 4 1024 characters rather than 100 chars
  • When using multiple pophosts and accounts with duplicate message id. Show both copies of same message  in inbox if they came from different pop hosts.
  • For true/false ini settings accept 1 True truE etc as true
  • Obey ini setting pop_delete_default true for DMailWeb as well as CWMail - requires config.tpl and newuser.tpl changes to include a hidden variable for pop_del0 (see latest templates for details)
  • Added new template variable h_to_trim like h_from_trim
  • Make strnqcpy() more robust for solaris
  • Added optional pop port number for each pop host user line
    for main host port is 110 or that specified by port ini setting
    for other pop hosts port defaults to ini setting but is user setable on config page using pop_portn template variable
  • Accept &amp; as a seperator in query strings as well as just &
  • Changed all hrefs served into templates to use &amp; in href rather than just &
  • Raised limit of to field to 2048 characters
2.3z 6th December 1999
  • Fixed bug in error log routine which caused core dump on solaris.
  • Added allow page=xyz on send url so can go to template other than sentok
  • Fix get_date javascript in sendf.tpl so its year 2000 compliant. ie dont just add 2000 naughty naughty
  • For replyall make sure we dont die if  from to and cc together and up to more than limit, up limit to 2000 characters
2.3y 26th November 1999
  • For attachments in html display inline if inline images true
  • Added for multi part mime parts content-type message/xxxx show attachments = message n,...
  • Fix bug in mime decoding - not useing <pre> tag for no content type and message/status content type
  • Fixed bug in 2.3x which caused death on solaris in user_write
  • Added mcache_kbytes=0 always leave body on server if <0 never leave body on server
  • Add pop host icons
  • Added template variable ||item|| served out with b_item but contains just item number so syadmins can create variations of b_item
  • UPdated WMSetup utility
  • Added ||list_i|| and ||list_m|| list_m is message number, list_i is msg number on this page
  • Fixed begin_list end_list so linefeds don't get lost so script comment //--> works as expected in list
  • Added template variable ||h_popn|| for list page. Gives number(from config page) of pop host message came from
  • In login.tpl take out javascript: in onblurr="javascript:whatever as it kill ns3.01
  • Similaryl remove from pick.tpl and pickf.tpl javascript:
  • Add template command moveton which moves message and then goes to next rather than to list folder
2.3x 22nd November 1999
  • Added never time out after a spell check
  • Fixed return from spell checker >quoteing body.  Bug introduced in 2.3u
  • Fixed bug added in 2.3t which caused some images not to be displayed when inline images
  • Added ifndef ifnequal ifninstr  ||template constructs
  • Added  support for nested ifdef ifequal and ifinstr
  • Changed item.tpl and pick.tpl to allow add to address book rather than picklist
  • Added allow autoadd to address book of your choice with ||autoadda name is ||add_book ||addr_booksa||
  • Added support for entries without = in address book ie just ralph@mcduff as well as ralph=ralph@mcduff
  • Added to lang.dat language translation "user token not available" and "forwarding failed"
  • Added support for move message to selected folder after reply
  • Added support for different reply address for each pop_host. ||pop_replyn|| variables and read in from config page and set to user@pophost if not set
  • Added check for page=list or anything else after cmd=reject to allow template to specify where to go after a reject message command

2.3w 11th November 1999
  • Fixed bug which caused keep_index not to work on DMailWeb
  • Added in reply in quote_body add a couple of blank lines at start
  • Added serve out ||top|| so they can use it anywhere to allow use of cwmail/dmailweb in frames in a frame
  • Replace _top with ||top in ch_pass, config, foldersf, help, logout, menu and menubar.tpl
  • Added example of CWMail in frames inside another frame fcwmail.htm  - note have to define top cwmailframe in ini file
  • Added alert to send.tpl page for must reenter attachment after spell check.
  • Check for invalid upto variable from template and dont die.
  • Forward.tpl change to (Fwd: From message) rather than just (From message)
  • Use stat when talking to POP to speed up check with no messages available
  • Fixed reply_all function broken in send.tpl in version 2.3n
  • Addd page_num and pages || variables and use in listf.tpl for CWMail
  • Don't send wrap if send_wrap is set to <0 in ini file
  • Fixed bug: in ||do  template command: % chgaracters returned were lost or caused crash
  • When saveing a message check m_nnn.dat does not exist and inc nextid if it does.and log an error to prevent message overwrites after disk errors.
  • Re enable fetch_min limit - got lost after about 2.3g
  • Fix ||quote_body|| so it does not show mime junk in forward_edit and reply and text form of attachments.

2.3t 28th October 1999
  • Allow cmd=list or cmd=checknew with &newpass=xyz for return from NetAuth after password has been changed.
  • Increase wait for lock on user file to 30secs as may be waiting for slow pop open
  • Dont let them delete username for pop host 0
  • Dont die when they delete nth pop host when it is their current pop host.
  • Added new ini setting text_stdin true for use with java webserver that sends crlf instead of lf and crcrlf instead of crlf
  • Improve efficiency when scanning headers.
2.3s 19th October 1999
  • Fix datestamp on sent messages to inlcude daylight saving offset in timezone
  • Added manager_ip ini setting wildcard list of valid manager ips for cmd=manager
  • Added if checknew set in nflogin page then check for new messages on login
  • Added in login.tpl hidden variable checknew=true
  • Print more info in utoken not available error
  • Fixed bug: The variables  b_list_next and b_list_prev where not being served for folders other than inbox
  • Added construct in tpl file
    ||set||fred||bill|| which sets variable fred to bill and serves it to next page
  • Added support for hidden variables and cmd parameters that set a variable
    hidden variable name = set_fred value = bill or
    http://myserve.com/scripts/cwmail.exe?cmd=list&set_fred=bill
    These constructs set the variable fred to contain bill and serve them to the next page
    If these set constructs are used with u_ variables the values will also be stored in user.dat
  • Added template variable ||page|| which gives name of current template file
  • Added support for hidden variable send_date and (if not empty) it is used in date header when doing send. With addition of javascript in send.tpl to write this send_date the message is sent with a date header which gives time and timezone on users browser rather than on the cwmail/dmailweb host.
  • Fixed bug which caused sort of messages in folders other than inbox to revert display back to the inbox
  • Added support for vhost= so you can use  http://myhost.com/scripts/cwmail.exe?vhost=fred.com
    to overide what host to match against when serving login page
  • Serve out template variable ||vhost|| so it can be passed from template to template if required.
  • Added support for ?tpl_set=n to force login page served to be taken from template set n Note the template set still has to set on login page.
  • Updated u_.tpl example and added a secret . link to it on configf.tpl after copyright sign. If you need to add your own user variables or tick boxes to any template page or a new page of your own look at this example.
  • Added foreing character decoding in headers shown in view headers mode.
  • Fix decoding of foreign characters on subject truncate h_subject40 etc.
  • Only serve out charset in content-type header if set_charset true in ini file as this can upset template files containing japanese charaters.
  • Fixed bug which meant  b_prev and b_next appeared even when they were invalid
  • added no_manager setting to disable manager pages
  • pickup frame=true on auto_login
  • Fixed bug we served h_reply as h_from naughty naughty
  • Addded to send.tpl fill in to with h_reply if its set rather than h_from
  • Added prev page next page to list.tpl  it was only in listf.tpl
  • Fixed bug in uuencoded attachment - multiple parts was always returning first one.
  • Fixed bug in idx_free which could cause crash of cgi
  • Check for duplicate uidl's from POP server, which implies a faulty pop serrver, and log error. POP servers with duplicate uidl's sometimes caused CWMail not to display all messages until second check for newmail.
  • When limiting number of sends per day count each recipient as a separate send.
  • Dont go to quoted printable when sending a message just for ESC character as it messes up iso-2022-jp used in japanese version
  • Fixed url and email links within messages so they work with jis sequences used in japanese version.
  • Dont wrap on send if ESC character is found in a line.  It may be a long japanese sequence and if so should not be wrapped.
  • Dont read wrap  if ESC character is found in a line. It may just be a long japanese encoded line.
2.3m 5th October 1999
  • Added page_size options to control number of messages shown on each list page and next and previous page links. Has to have additions to list template and config page and needs ini setting use_page_size true to enable it. Users can set their own page size.
  • New ini setting use_page_size needed as you need template change if useing page size thing.
  • Added three new template variables b_list_next and b_list_prev  page_size
  • Now removes temporary user files spell.dat and spell.msg when spell check complete or start new send
  • Remember and serve  b_next and b_prev so they can be used in sentok.tpl
    This allows navigation after reply to message rather than return to list page
  • Fix javascript in login.tpl for ie3 again :-)
  • Added to address book page a Make group page.
  • Added new ini setting poplist_width which controls width of poplist drop down menu
  • Added new ini setting top default is _top This allows use of CWMail within a frame.
  • Allow page= with cmd=item
  • Added print button to item.tpl displays just message without controls in a seperate window so message can be printed or saved easily.
  • Serve tolist variable to more templates
  • Added template variable  ||topick|| like ||tolist|| but only contains picklist - not address books entries.
  • Allow cmd=new&page=xyz to provide different send page options
  • Fixed bug in rfc1522 in encodeing wierd weird2 need toinclude trailing space in encoded bit else it gets lost when decoded by outlook.
2.3k 27th September 1999
  • Added  ||tunread|| for list page. Number of unread messages
  • Added if message header has content text/html then set variable font true when showing that message so lines will wrap properly.
  • Added new ini setting reply_prefix can have value like -- or > (default) or false for empty. Used in quoteing message body in a reply.
  • Fix bug in child accept-reject introduced in 2.3g giving error you are not parent...
  • Added user locking to prevent possible loss of  folder indexes on some systems.
  • Removed several redundant folder index writes to speed up response
  • Removed pop reads for return to mail list
  • Added fix for hierachical multipart alternate messages so it does not show body twice; once as htm and once as plain text.
2.3g 23rd September 1999
  • Make "Use my from address" in forward template sticky
  • Fix possible crash in printing very long error messages
  • Fix bug causeing cgi to be left running on send with strange to: field
  • Add x-child-to header to messages sent to parents and use it when returning message to child so that cc's to child are returned correctly
  • Read pop_cur from login page if it is present so it can be forced to revert to main account on each login with a line like
    <input type="hidden" name="pop_cur" value="0">
  • Add support for
    <input type="hidden" name="clear_uvars" value="u_tick1,u_tick3,u_tick22">
        <input type=checkbox name="u_tick1" value="checked" ||u_tick1||> u_tick1
        so you can create your own tick boxes for anything and have values stored in user.dat
  • Fix error in parsedate used in sorting dates. It was adding rather than subtracting for timezones like +0930
  • Accept tabs in uidl response
  • New ini setting no_ref_encode removes email, http, ftp etc conversions to links
  • Fixed bug added in 2.3c which stopped http and https refs being turned into links
2.3f 3rd September 1999
  • Add fiddle to make IE use correct file extension when saving attachments and iniline images true
    Fixed bug causeing cgi to revert to main pop host after every list
  • Fixed bug causeing rebuild index to turn currently cached remote messages into local messages if current index file exists.
  • Accept space after + or - for timezone in date field when parseing dates
  • Fixed bug with reading empty address books
  • Fixed link to login after settings lost error
  • Don't add from address if child and dont keep messageWhen forwarding message to parent of child account don't add from address to pick list even if auto-add set.
  • Added alternative hashing method for hashing usernames to work directories and an ini setting to control it. (Dont change on existing systems!):
    hash_method 2
    The new method allows any characters in usernames and uses a two level directory structure    eg. workarea/n_a9/b4/encoded_user@domain.name
    rather than just workarea/u_xx/user@domain_name
    This is for new large systems on unix. It has a very flat distribution and will produce less than 800 directories per directory even on systems with many milliions of user accounts.
    Note1: Most large systems even on unix do not see a problem with existing hash method which is more transparent.
    Note2: As changeing the hashing method will make the cgi look in a different directory for a users files it should not be done on a working system. (Users would loose their messages and settings)
    A utility wmcd which returns a user_directory for an given username is included in the new distribution. Later a change hash method utility will be provided to move user files.
  • Updated manager page so that wildcards for users should be given as *@whatsit.com rather than *@whatsit_com
  • Give all temp files created .tmp extension so they can be more easily removed.
  • If address book is too large to process print its name and size in log file on debug
  • Make spell check more robust
  • When using rfc1522 encode for headers recognise esc $ anything as start of sequence rather than esc $ B only
  • Added new ini setting swedish default false which does some translations for html
  • Added to sentok.tpl   - Auto return to list page after 4 secs
  • Added external login mechanism:
    allow call with cwmail.exe?cmd=auto_login&user=abc&pass_file=abcd
    file opened and deleted is workarea/abcd.tmp
    abcd.tmp should contain encoded password for user.
    pass_file.c contains an example of how to create such a file.
  • Allow call with user=xxx to display login.tpl with username filled in.
  • Use javascript to make focus go from user to password fields on login form
  • Use javascript to make it select user field in login form on load
  • Fix bug in sort introduced in 2.3d
2.3e 26th August 1999
  • Log more debug information
  • Fixed format of offset in date header so we get +0400 not +400
  • If cookie based login fails set pre_error rather than error outside template.
  • Fixed bug causeing view_headers etc not to be saved if no from addresses in picklist.
  • Added new ini setting user_prefix defaults to u_
    Defines prefix for generic user variables
  • Display and save and user_prefix* template variables. See example page u_.tpl
  • On child release clear accept from and reject from lists
  • iunseen1.gif replaced with unseen1.gif as both iunseen1 and iunseen0 were blank
  • Added in item.tpl display replied,new etc images with
    <img src="||nwimg||/attach||h_isattached||.gif"> etc.
  • Added new template variable pid which is pid of cwmail/dmailweb process on server
  • Added encode rfc1522 on get_reply in from line on sent message for foreign language compatibility
  • Change: When making from address of type "hello fred" <a@b> put a space between " and <
2.3d 19th August 1999
  • Fix bug causeing occasional loss of folder index
  • Change default in pick.tpl to return to pick.tpl after save
  • Log more information on date fields we cant parse month on
  • when comparing childs parent with us trim traling spaces of us first.
  • Make next and prev buttons in item.tpl work on sorted order not original order of messages.
  • Fix bug in sort by date - Thought we got it in 2.3a but nope.
2.3c 18th August 1999
  • Dont timeout if waiting for user to compose a message.
  • Updated  item.tpl to use absolte refs after a message so if it contains html links buttons at bottom of page still work correctly.
  • When picking up attachment names decode  rfc1522 encoded filenames
  • Fix bug causeing send of message to usernames like "Åron"aron@a.com to fail.
  • Add decode of rfc1522 headers in several places where it had been missed.
  • Dont terminate hrefs on  commas
  • Fixed bug: On save of filtering rules, child stuff etc it was reverting to template set 0
  • On cookie login - check pop open ok before continueing incase they changed their password.
  • For multipart/alternate mime message dont show text/plain part if inline image set
    ie if htm and text available show the html if inline images true
  • Fix bug causeing crash on poppassd change password with no poppassd server available
  • Accept m_nn.dat files moved from unix to NT or vice-versa
  • Fix bug in wrap encode and wrap() functions that were loosing one character after a wrap (usually just a space :-)
  • Fix bug causeing upercase content-type=QUOTED-PRINTABLE to be missed.
  • Quoted printable - add recognition for trailing =\n to mean truncated line prepend to next line.
  • Turn ftp:// inside message body into a link and check these before checking for email refs so that following ref works. ftp://netwin@ftp.professionals.com/export/home/netwin/reports/
  • Add a button to child page for releaseing a child account from supervision.
2.3b 27th July 1999
  • Changed default checking of from ip address to first three bytes only as there seem to be more poxies out there dynamically changeing last byte
    ipcheck 3
  • Fix bug in send of quoted printable in msg body introduced in 2.2r :-(
  • Fix send and forward so that they dont keep POP open during send as it upsets some SMTP servers who try to do a POP login before a send.
  • Add check to abort and print error if get error reading in user.dat
  • On rebuild index check for any lost folders and call them folder n etc.
  • On create new user.dat find any existing folders and call them folder n
  • Make folder subject sort case independent
  • Make sort on h_bytes numeric rather than alphabetic
  • Fix strlwr of directory names in WMSetup
  • Support naughty pop servers that reply +ok top <cr> -err when out of messages.
2.3a 13th July 1999
  • Added an ini setting ipcheck n to say use n bytes of ip matching in check for matching ip address. So for system where users ip addresses change during a session you now have the option matching just first 1,2,or 3 bytes.
  • Added an ini setting to disable quoted printable encoding of non ascii characters in sent email.
  • Allow % character  in usernames
  • Present folder rename to a name which is already in use
  • If user tries to read or select more than 5,000 messages give an error dont die, and just d first 5000
  • Dont overwrite message index if there is an index load error - ie disk fault etc.
  • Added a key_expires variable for login page so its clear when demo key will expire.
  • Fixed  dot stuffing on messages sent/recieved
  • Allow page=xyz in login form and use docmd to get to that page after login if frames vesion
  • Use proper date comparison when sorting messages on date.
  • Dont always go back to inbox after save config and hence sort
  • Changed list.tpl to make sort on subject, from etc a to z and sort on to: for copies to self
2.2s 29th June 1999
  • Reset auto-logout timer on send and reply so we dont timeout after message has been composed.
  • Added ini setting allow/  to allow / in username to be retained - use with care.
  • Allways set folder to inbox on login
  • Fix bug in from ip match for cookies.
  • Fixed bug causeing cookie login to fail after logout
  • Fixed bug in child accept/reject when hostname != email domain name
  • Updated  item.tpl for more obvious child msg indication
  • Fixed bug seen in alpha and hpux versions: garbage chars appearing in templates
2.2r 14th June 1999
  • Fixed bug in parent child processing of large messages. If message was larger than cache size it was not forwarded until child tried to read body - fixed.
  • Added on send message with content_type text/html seperate body from signature and bodyadd with <br>
  • Dont leave userpid.tmp files around if user.dat update fails repeatedly.
  • Added allow use of v_exec as an addition to b_item to force allow exec
    as in b_item&v_exec=true
  • If cur_pop is set to unused pophost revert to host 0
  • Use pid in temp user.dat name to avoid conflicts causeing loss of user.dat
  • Fix empty string probelm on hpux build
  • Allow multiple work areas using lines like
    work bill fred \work2
    or
    work fred@whatsit.com z /var/spool/work3
    Note be very carefull about adding these lines when user accounts already exist. You must copy all the effected user files into the new workarea first!
  • Show addresses from multiple group addresses in picklist
  • Allow global address book names to be entered as ralph@161.29.2.44/public_one ie dots allowed
  • New feature: Sorted message lists, sort on size, date, from etc.
    Changes to list.tpl and config.tpl to support these. You can actually sort on any header in index. ie "subject:", "from:", "lines:", "to:", "date:", "cc:",
    "x-priority:", "_pophost",  "_remote", "_popuser", "bytes:",
    "content-type:", "content-disposition", "sender:", "reply-to:",
    "nwflags:", "resent-from:", datetime
  • Added more checks on update of childs user.dat to avoid possible errors
  • Change NT download file options to provide an option to leave unpacked files after upgrade for manual checking etc.
  • Fix bug in delete of last address book on unix machines
  • Provide config setting for cookie auto - login set_cookie and cookie_set and cookie_selected
  • Allow user to turn of cookie login in options page
2.2p 8th June 1999
  • Fixed bug causeing error on send in HPUX version.
  • Remove bug introduced in 2.2m giveing cant find default.