PLEASE contact AT ivar@lumisoft.ee if you found a bug !!! Forum: http://www.lumisoft.ee/Forum //---------------------------------------- // Devel Version: http://www.lumisoft.ee/lswww/download/downloads/MailServer/Devel/ version: 0.99 (xx.x.2017) *) New: All project converted to .NET 4.5 and VS2013. (07.01.2015) *) New: Remove ICSharpCode.SharpZipLib.dll and now using .NET 4.5 System.Compression. (07.01.2015) *) New: IMAP FETCH BODYSTRUCTURE now returns single part MIME entity extentions fields(Content-Disposition parameters,..). (09.01.2015) *) Fix: IMAP STATUS for unexistent folder caused untagged "* NO" response instead of final NO. Some Email clients waited long time for final response and working very slow. (20.01.2015) *) Fix: IMAP SUBSCRIBE subscribed duplicate names when subscribe called multiple (02.11.2015) times for same folder. *) Fix: IMAP commands other than SEARCH and APPEND dind't allow literal-string strings. (11.11.2016) *) Fix: IMAP block empty folder names in SUBSCRIBE command. (Fixes Outlook 2016 hanging) (11.01.2017) *) Fix: IMAP SEARCH(not UID SEARCH) returned message UIDs instead of seqNo. (16.03.2017) *) Fix: IMAP allow chars '<' and '>' in token. On some Android phones IMAP SEARCH HEADER Message-ID failed. (10.05.2017) *) Fix: Under heavy load, server stream(for example SMTP DATA command) read operations may fail. (xx.xx.2017) *) FIX: IMAP APPEND allow mailbox name as string literal.(14.07.2020) *) New: All project converted to .NET 4.7. This unlockcs OS new TLS/SSL implementations. (18.10.2021) *) New: Updated to lastest System.Data.SQLite version. (15.11.2021) *) Fix: POP3 server command RETR,TOP may cause 'Stack Overflow' error when input stream contains many very short lines. (01.06.2022)) //--- Release versions ---------------------------------------------------------------------------------------- version: 0.98 (05.01.2014) *) New: SMTP relay added option "Use TLS if possible", TLS is used when remote server supports it. (01.06.2014) *) Fix: User messagerule autoresponse caused error in evetns.xml when smtp mail from was empty. (04.12.2014) *) Fix: SMTP maximum allowed message size didn't return error to client, just junked remaining bytes of message. (29.12.2014) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! NOTE: SQL Users don't upgrade, SQL versions of API not supported by this version. version: 0.97 (03.04.2014) *) Fix: System settings restore failed to restore DNS settings. (02.11.2012) *) Fix: IMAP search key ALL was not working. (26.11.2012) *) Fix: Mailserver manager user folder messages UI didn't show message subject,from,date ok. (14.05.2013) *) Fix: IMAP Fetch returned invalid data on some fetch data-item combination(For example: (RFC822 ENVELOPE)) (28.08.2013) *) Fix: Improve IMAP Fetch BODY[HEADER] speed. (28.08.2013) *) Fix: SMTP/POP3/IMAP server crashed, when SSL neogoatiation times out. (01.11.2013) *) Fix: IMAP greeting text is not saved in manager UI. (16.02.2014) *) Fix: SSL/TLS raw TCP connection not closed after session close. (16.02.2014) (Some email clients like Opera waits long time to connection to close) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! NOTE: SQL Users don't upgrade, SQL versions of API not supported by this version. version: 0.96 (28.12.2011) *) Fix: SMTP relay failed if any of the MX records was not valid DNS name(pointed to non existent host name). (08.03.2011) *) Fix: If SMTP relay connect failed and DSN message requested, no DSN message was sent. (15.03.2011) *) Fix: IMAP SEARCH CHARSET rejected UTF-8. (29.03.2011) *) Fix: If SMTP relay traget host had duplicate MX records(more than 1 record with same name), (12.04.2011) relay rejected with error "An element with the same key already exists in the Dictionary". *) Fix: IMAP SEARCH didn't accept literal strings(unicode search). (20.04.2011) *) Fix: Relay DATA command 4xx responses were not handled as error. (01.08.2011) *) Fix: Relay DATA command SMTP server response tiemout(no response from server), may cause server crash. (01.08.2011) *) New: Updated to "http://system.data.sqlite.org" SQL lite provider with SQL Lite 3.7.7.1. (04.08.2011) *) Fix: SMTP relay didn't handle IPv6 MX records right. (05.08.2011) *) New: IMAP added UTF8=ACCEPT support. (29.08.2011) *) Fix: Multiple mail transactions per 1 connection failed. (12.09.2011) *) Fix: If remote host shut down socket(Socket.ShutDown), the empty command buffer considered as bad empty command (not disposing session before socket close reach). (04.10.2011) *) New: Added IMAP AUTHENTICATE initial response(SASL-IR) support. (05.10.2011) *) Fix: IMAP FETCH command retrurned wrong result if command line ended RFC822 or BODY. (25.10.2011) *) Fix: SSL connections failed(TLS was not affected). (04.11.2011) *) New: DNS internationalized(unicode) domain names support. (09.12.2011) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! NOTE: SQL Users don't upgrade, SQL versions of API not supported by this version. //---------------------------------------- version: 0.95 (05.02.2011) *) New: IMAP server 100% rewrite, more stable and big speed imporvement on SEARCH. (16.12.2009) *) Fix: If relay has invalid binding IP, log error. (28.12.2009) *) New: Added IPv6 support for monitoring and management. (02.02.2010) *) New: Allow to generate SSL certificates in IP bindings. Now possible to use secure messaging without buying any certificates. (04.03.2010) *) Fix: MS class constructor X509Certificate2(byte[]) has serious bug, it will create temp file and doesn't delete it. Create tmp manually and delete it manually. (25.04.2010) *) New: Moved to SQLLITE 3.6.23.1. (10.05.2010) *) Fix: If remote host closed IMAP IDLE connection, session caused 100% CPU loop. (11.05.2010) *) Fix: Sql-lite version: If new folder created and new messages moved to it, duplicate first message created. (19.08.2010) *) Fix: Digest-MD5 authentication didn't work as expected. (02.10.2010) *) Fix: When message was pshysically deleted from mailstore, cache for that message still existed, error was returned. Just generate "MESSAGE MISSING" for such entries. (13.10.2010) *) Fix: FETCH body[section_no] returned header + body-data, but must return only body-data. (17.11.2010) *) New: Increase concurrent IO completion connection acceptors to 10(was 1 at moment). (27.12.2010) *) New: SMTP Relay switched to true asynchronous(IO completion ports on win OS) DNS query resolution. (03.01.2011) *) New: SMTP Relay switched to true asynchronous(IO completion ports on win OS) SMTP client. (18.01.2011) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! NOTE: SQL Users don't upgrade, SQL versions of API not supported by this version. //---------------------------------------- version: 0.94 (29.11.2009) *) New: Moved to NET 3.5 (26.01.2009) *) New: LDAP authentication support. (26.01.2009) *) New: All code moved to new MIME implementation. (08.02.2009) *) New: SMTP delivery status notification (DSN). (19.02.2009) *) New: POP3 server total rewrite. (11.05.2009) *) New: DNS client rewrite (relay caused some dns errors). (06.07.2009) //---------------------------------------- version: 0.93 (13.01.2009) *) New: SIP server to B2BUA mode, server can monitor calls now. (09.09.2007) *) Fix: Block loading invalid SSl certificates to server. (09.09.2007) *) Fix: Some relay related bugs. (22.05.2007) *) Fix: IMAP server returned wrong BODYSTRUCTURE when message Content-Type: header was missing. (25.09.2007) (This caused blank messages in some email clients) *) Fix: System return messages(undelivered and delayed delivery messages) wasn't updateable.(26.09.2007) *) New: If final delivery of message, add Return-Path: header. (27.09.2007) *) Fix: SMTP "BDAT 0" hanged. (06.10.2007) *) New: Host name to binding. (13.10.2007) *) New: Complete relay rewrite. Relay to act as SMTP load balancher service, (30.10.2007) if multiple internet connections. *) New: Moved to VS 2008. *) Fix: IMAP SEARCH and NOOP commands didn't reflect mailbox chnages. (11.04.2008) *) New: SMTP block senders with null domain. For example "joh.doe@". (17.04.2008) *) Fix: SMTP relay connect greeting 4xx multiline response was treated as 5xx permanent error. (05.05.2008) (Result: instead of delayed delivery, message was considered undelivered at once.) *) NEW: IMAP IDLE command support. (07.10.2008) *) NEW: Total rewrite of SMTP server. (06.11.2008) *) NEW: SMTP allow to limit number of mail transactions per connection. (07.11.2008) NOTE: !!!!!!!!!!!!!!!!!!!! *) If you upgrade to this version, be sure that you specify dns host name in every service IP binding. *) Reconfigure relay, because of complete redesign, some options can't be converted. *) Configure DNS servers in System -> General. *) If using any SMTP filters, they must be updated too. //---------------------------------------- version: 0.92 (26.04.2007) *) New: Many SIP improvements, now all stuff should work. (26.04.2007) *) Fix: Api send keep alive packets, otherwise admin connection will timeout.(15.04.2007) (This caused manger UI errors, if UI stayed open for long time) *) New: Added SIP monitoring,view address of record contacts window. (10.03.2007) *) Fix: Deleting domain didn't delete specified domain email addresses (XML). (24.02.2007) *) New: Allow to specify maximum conncurent connections to one IP address in relay. (23.02.2007) *) Fix: Relay "Retry" folder isn't created automatically causes retry delivery errors. (23.02.2007) *) Fix: If user folder doesn't exist in mail store, user login failed (XML API). (22.02.2006) *) New: Initial SIP(VOIP) server.(26.01.2007) *) New: Now it's possible to backup whole virtual server messages to specified folder. (29.12.2006) *) New: User messages import/export from antoher user,IMAP,zip to antoher user,IMAP,zip. (19.12.2006) (See User Properties -> Folders -> See folder messages, there is import/ button) *) New: Now administrator can save recycle bin messages out directly from user recycle bin UI. (14.12.2006) *) New: Now administrator can save messages out directly from user folder. (14.12.2006) (See User Properties -> Folders -> See folder messages, there is Save button) *) New: Now administrator can write messages directly to user folder. (13.12.2006) (See User Properties -> Folders -> See folder messages, there is write button) *) New: Removed register.bat. Now just run lsMailServer.exe and install UI pops up. (08.12.2006) To run server with Mono, just run same file too. *) New: Removed undelivered and undelivered warning template from realy. Now new location and possibilities. (07.12.2006) See System -> Return Messages. *) New: Show administrator connections in monitoring. (22.11.2006) *) New: UI now runs in linux with Mono 1.2.(22.11.2006) Server has almost full linux support now. Problems: *) Folder Properties Permissions tab won't work. *) Numeric edit values won't take typed value. (Currently just set value, press spinner button UP and DOWN, then value take effect) *) How to install it as service in linux ? *) New: Allow unlimited mailbox size, 0 is unlimted. (20.11.2006) *) Fix: Smart Host Use SSL didn't worked. (20.11.2006) //---------------------------------------- version: 0.91 (13.11.2006) *) New: Cleaned up UI and UI code. (06.11.2006) *) New: Added log viewer and searcher. (04.10.2006) *) New: CPU,MEM,Bandwidth monitoring (UI manager -> Click on server name). (14.09.2006) *) New: Deleted messages Recycle Bin + Restore option. (11.09.2006) *) New: User Default Folders. (06.09.2006) *) New: Added IMAP QUOTA view support. (04.09.2006) Now IMAP QUOTA enabled email clients show mailbox usage %. *) New: Allow rename domain name. (01.09.2006) *) New: Removed internal header(cache) from message files to standalone file (messageID.info). (30.08.2006) *) New: Allow enable/disable virtual server. (30.08.2006) *) New: Postgresql support. (29.08.2006) *) Fix: Made backup/restore to work (System->Backup). (08.08.2006) *) New: Linux (Mono). (04.08.2006) UI won't work (but now you can run UI in win computer and connect to lumisoft mailserver on linux), but server works ok. (Tested on suse 10) Only thing to soleve is: How to run server automatically when linux start ? Any info is welcome. Running on suse: Just store relese folder in local disk, run run_in_mono.sh, press "Start" and all is up and running. Ensure that all mailserver configured ports are free !!! For troubles, see Settings/Events.xml file. This file will be created if any errors. *) New: Allow to Kill session in monitoring. (28.07.2006) *) New: Developers API. (25.07.2006) *) New: Manager UI to new user API. (25.07.2006) UI tree changes to following: machine Monitoring Sessions Logs And Events Events Virtual Servers virtualserver1 ... *) New: New tool "Mail Server Configuration" configure remote admin access settings. (24.07.2006) *) Fix: IMAP non UID Serach returned zero based message numbers, these must be 1 based.(21.07.2006) *) New: Allow to specify number of conncurent connections per IP. (10.07.2006) *) New: Rewrited Routing. Allow route non server domains too. (10.07.2006) *) New: Event log (Errors,Warnings) and viewer to UI. (05.07.2006) *) New: Allow POP3,IMAP,Relay checkboxes to user (User -> Permissions tab). (03.07.2006) *) New: Updated User Message Rules to same engine as Global Message Rules. (03.07.2006) *) New: Allow specify relay "host name" reported to destination server. (28.06.2006) *) New: Allow to specify relay session idle timeout. (28.06.2006) NOTE: Please reconfigure IP Security in UI, these values aren't upgraded. SQL users run script 0_90_to_0_91.sql + procedures.sql NOTE: From this version of mail server, mail server must run before you run UI manager !!! NOTE: Please reset "Host Name" in relay options, earlier versions used SMTP "Host Name". NOTE: Please reconfigure "Allow relay" option in user properties. Default "Allow relay" is enabled for authenticated user. NOTE: Current user message ruels won't be upgraded. Please delete usermessagerules.xml manually, before upgrading server. SQL users run script 0_90_to_0_91.sql + procedures.sql (current user rules deleted !!!) ****!!!!!!!!!!!!!!!!!!!!!!!****** NOTE: Current routes won't be upgraded. Please delete routing.xml manually, SQL users run script 0_90_to_0_91.sql + procedures.sql (current routes deleted !!!) ****!!!!!!!!!!!!!!!!!!!!!!!****** //---------------------------------------- version: 0.90 (26.06.2006) *) New: Added option to enable/disable fetch remote messages (POP3) service. (14.06.2006) *) Fix: MSSQL API built-in users anyone,"Autheticated Users" raised error. (13.06.2006) *) Fix: ENVELOPE returned in some places not encoded values. *) New: Moved SMTP,POP3,IMAP off the MemoryStream (SQL is still on MemoryStream). (25.05.2006) *) New: Windows authentication (CRAM-MD5 and DIGEST-MD5 disabled if Windows auth enabled). (24.05.2006) *) New: Allow to configure pop3 remote accounts fetch interval time. (19.05.2006) *) New: Allow pattern mailing list members. (For example: *@lumisoft.ee). (19.05.2006) *) Fix: Relaying big attachments may time out. (15.05.2006) *) Fix: IMAP UTF-7 encoding. Some unicode folder names encoded/decoded wrong. (18.05.2006) SQL Upgrade note: Change table 'lsFilters' column 'Cost' from int to bigint ! //---------------------------------------- version: 0.89 (10.05.2006) *) Fix: When adding new user and immediately(without closing user window) adding remote pop3 account, add fails. (09.03.2006) *) Fix: When user login name updated in UI and try to change email address,remote pop3 server or message rule, error is raised. (09.03.2006) This happened because of actual user login name update wasn't done before closing window. *) New: Global Message Rules. For more info see: Help/NewHelp/Grules.htm . (09.03.2006) *) New: User groups support. (13.03.2006) For example you can give some folder access to the specified group. *) New: Add pop3 remote accounts SSL support. (22.03.2006) *) New: True Shared Folders(Public Folders and Users Shared Folders) support. (28.03.2006) *) Fix: Added support for SMTP AUTH initial-response argument. (28.03.2006) (Now AUTH LOGIN supports following format too: AUTH LOGIN username_in_base64) *) New: Allow to enable/disable mailing list. (31.03.2006) *) New: Make user Groups to control mailing list access. (31.03.2006) New built-in Groups: anyone,Authenticated Users. Removeed "Is Public" checkbox - you can add "Authenticated Users" instead of it to get same functionality. *) New: Allow mailign list member to be User or group. (04.04.2006) *) New: Allow mailing list to contain mailing list address. (04.04.2006) *) New: TLS (SMTP,POP3,IMAP) (RFC 2595). (13.04.2006) *) New: SSL. SMTP port 465; POP3 port 995; IMAP port 993. (13.04.2006) *) New: IPv6 support. (13.04.2006) *) New: Incoming and Outgoing(Relay) messages queue viewer to manager UI. (19.04.2006) *) New: Monitoring shows now session read and write transfer rates. (21.04.2006) *) New: SSL support for smart host. (25.04.2006) SQL UPGRADE NOTE: 1) Run 088_to_089.sql 2) Run procedures.sql //---------------------------------------- version: 0.88 (23.01.2006) *) New: Moved to newer version of LumiSoft.Net.dll. *) Fix: IMAP FETCH command rewrited. (Fixes Thunderbird 1.xx problems) (16.10.2005) *) Fix: IMAP Append command didn't store specified date. (19.10.2005) *) New: IMAP Search command is now fully implemented. (20.10.2005) *) Fix: IMAP FETCH reported wrong INTERNALDATE (mail clients showed wrong date). (20.10.2005) *) Fix: IMAP COPY,STORE better parsing and handling. (23.10.2005) *) Fix: Don't calculate IMAP folders, create XML file for folders. (XML API related) (27.10.2005) *) Fix: Allow '_' in folder names. (29.10.2005) *) Fix: Allow bigger user mailboxes than 2 GB (int to long). (05.11.2005) *) Fix: Smart host user name was used for DNS sending, caused destination servers to AUTH. (12.11.2005) *) Fix: If new user inbox folder created only after first incoming SMTP message. (16.11.2005) (User got message: "NO Folder 'Inbox' doesn't exist !") *) New: Moved to .NET 2.0 (20.11.2005) *) New: Partial log parts. Now log entries are written to log file after each 100 entries. (24.11.2005) *) New: Change log file nameing. Day,mont always to 2 symbols. For example: 01,11, ... . (24.11.2005) (Then aphapetical sorting sorts log files at right order) *) New: For XML API change local mailbox messages file nameing. (03.12.2005) Just set INTERNALDATE_UID as file name and store FLAGS to message file internal header. File name is constant now, causes less troubles. *) New: Show last 100 log entires in monitoring. (09.12.2005) //---------------------------------------- version: 0.87 (12.08.2005) *) Fix: IMAP FETCH BODY[mimePartNumber] returned wrong result (returned BODY[System.Object] instead of BODY[mimePartNumber]). (15.03.2005) *) Fix: IMAP FETCH BODY[mimePartNumber] didn't allow to retrieve nested mime parts. (15.03.2005) Example BODY[1.1] *) New: Allow to specify smart host port. (29.04.2005) *) New: Allow routing to route messages to specifed host. (17.05.2005) *) Fix: MSSQL API: User deletion didn't delete user IMAP subscriptions. (09.07.2005) *) Fix: MSSQL API: When coping message from one folder to antother with IMAP, error was rised. (09.07.2005) //---------------------------------------- version: 0.86 (14.03.2005) *) Fix: POP3 USER command.If machine is very fast,PASS command may happen before m_UserName = username is done and because caused error: ‘ERR- Please specify username first’ (18.12.2004) *) New: SMTP,POP3,IMAP,RELAY sessions monitoring (In mail server manager UI -> Local Machine -> Monitorig). (02.01.2005) *) New: Move Relay to Sessions (Because of monitoring). (26.12.2004) *) New: Threadless relay (Asynchronous SMTP client). This adds support hundreds of simultaneous relay connections. (02.01.2005) *) New: Allow to specify Relay sending IP address if there is multiple IP addresses. (03.01.2005) *) New: WatchDog to check relay sessions state, just kill/time_out hanged sessions. (10.01.2005) *) New: SMTP/POP3/IMAP AUTH DIGEST-MD5. (11.01.2005) *) New: Pop3 remote accounts fetch logging (FetchPop3). (17.01.2005) *) New: Option to require SMTP auth for SMTP access (this is neccessary to private SMTP servers). (20.01.2005) *) Fix: Don't calculate IMAP folders total size, store size in file. (XML API related) (28.01.2005) This gives hudge speed improvement, if big mailboxes. *) New: Add new API method GetMailboxSize() and show mailbox size in manager UI. (29.01.2005) *) New: Mailserver API init string builder UI. (20.02.2005) *) New: IMAP Public Folders(IMAP NAMESPACE). (28.02.2005) Currently 'Public Folders' is mapped to account 'publicfolders'. To try this feature just make account 'publicfolders' connect to this account with some IMAP client what support ACL. Just make folders and apply acl to shared folders. Example: publicfolders/Documents publicfolders/Archive This will be visible to public as: Public Folders/Documents -> publicfolders/Documents Public Folders/Archive -> publicfolders/Archive *) New: IMAP User Shared Folders (IMAP ACL + IMAP NAMESPACE) (06.03.2005) To try this feature just connect with some IMAP client what support ACL. Just apply acl to shared folders. Example: (Your local account: myAccount) Inbox MyShared (ACL access specified) This will be visible to public as: Shared Folders/myAccount/MyShared -> MyShared *) New: Partial IMAP SEARCH command (11.03.2005) Currently won't support keyword NOT,OR and parentized () search. If somebody has good idea how to implement parentized and nested seraches, please let me know. (NOTE: SQL users update stored procedures and you need to create new table!!! ) Create table lsIMAP_ACL( Folder nvarchar(500) Default (''), [User] nvarchar(100) Default (''), [Permissions] nvarchar(20) Default ('') ) //---------------------------------------- version: 0.85 (10.12.2004) *) Fix: When user didn't have any message rules and you press delete button, error box was rised. *) Fix: POP3 remote accounts service may stopped if any invalid settings secified for user POP3 remote server. *) Fix: IMAP folder related commands didn't support % (sibling folders retrieving), retuned all folders instead. *) Fix: POP3 TOP command didn't return more than 150 lines if requested so. *) New: Allow specify SMTP smart host username and password. *) Fix: SMTP relay didn't report host name specified in SMTP settings for Retry messages sending. *) New: Support partial message fetching BODY[]<0.222> and BODY.PEEK[]<0.222> (in FETCH command). (28.11.2004) *) Fix: Block messages with invalid chars like LF(must be CRLF, but only LF not allowed),CR(without LF),char(0). Most of such messages are spam and causes mail client problems (can't download/delete message from server). (05.12.2004) *) New: Add POP3 CAPA command (rfc 2449). (06.12.2004) //---------------------------------------- version: 0.84 (29.04.2004) *) New: If relay not allowed, don't report "No such user here", insted of it report "Relay not allowed ...". *) New: Password hack dedector. Server allows 20 bad logins for IP+UserName in 5 minutes, after that it just skips password check and returns that login failed. Block will be released after 5 minutes. *) Fix: IMAP FETCH won't allow syntax body[header.fields (from)], requires (body[header.fields (from)]). This may happen only if body[header.fields (from)] is only parameter for fetch. *) Fix: (For MSSQL API only) Domain deletion deleted all security entries. *) Fix: UserRule * pattern didn't worked when comapred header field was empty. *) Fix: If sender address is similar "sender@" (no domain specified) and destination sender was undeliverable, server started endless undelivery warning loop. *) Fix: SMTP_Client (relay), some mailservers won't send '221 closing connection', just skip cheking this. This caused multiple messages duplication to destination recipient and reported local user that message was undeliverable.Duplication lasted while message undelivered time was reached. *) Fix: If dns server not available, don't consider message as undelivered, wait undelivery time. *) New: DNSBL spam filtering. Just add this filter(ls_DNSBL_Filter.exe) in mailserver manager UI and configure running ls_DNSBL_Filter.exe. NOTE: some default filters are already configured. This release contains many bug fixes, thanks to all users who repoted bugs. //---------------------------------------- version: 0.83 (13.04.2004) *) Fix: IMAP stored wrong internal date.(Mail clients showed wrong date for message) *) Fix: SQL API DeleteUserRemoteServer called wrong sql procedure 'lspr_DeleteUserRemoteAddress' instead of 'lspr_DeleteUserRemoteServer' *) New: Just eat MAIL FROM: AUTH keyword, some email clients add it. *) FIX: IMAP UID STORE command returned invalid FETCH response. Message flags closing ')' was missing. *) New: Allow edit API init string in "Local Machine". (Thanks to Cesar Cantos) //---------------------------------------- version: 0.82 (14.01.2004) *) Fix: SQL version didn't store minutes and seconds for message. (mssql_api.dll) *) Fix: SMTP client reported wrong SIZE value in MAIL FROM:, it included relay headers for size. *) Fix: SQL version and user message rules didn't work. *) New: Hide user password in UI manager (Only for exisitng users, not for new users). //---------------------------------------- version: 0.81 (24.12.2003) *) Fix: Mailing lists didn't allow specify user address to multiple mailing list. *) New: Pop3 remote accounts to download messages to Inbox. *) New: Filters: ISmtpSenderFilter NOTE: Previous version users delete old filters before upgrading !!! *) New: Relay logging *) New: User Message rules, remove forwards This solution can resolve 3 features: 1) Forwards 2) Autoresponders (very powerful,can be sender,content,... based and different reponses to them) 3) IMAP message rules. User can block junk mail or specify where messages are stored, based on match. NOTE: Sql users run \Upgrade\0.80_to_0.81\alter.sql, to upgrade database. After that you must also run procedures.sql. //---------------------------------------- version: 0.80 (15.11.2003) *) New: Allows to specify HELO/EHLO host name *) Fix: IMAP NOOP cmmand didn't returned updated messages info, because of it some mail clients didn't reported new messages on send/receive. *) New: Asynchrounous Sockets version of mailserver NOTE: no database structure changes, all same as 0.774. //---------------------------------------- version: 0.774 (02.11.2003) *) Fix: if client closed connection between DATA or BDAT command, server stayed endless loop. (NOTE: this is serious error and suggested upgrde to all 0.77x users) //---------------------------------------- version: 0.773 (02.11.2003) *) Some sql fixes (IMAP Inbox folder wan't created automatically) procedures.sql - must be recreated mssql_api.dll - must be replaced //---------------------------------------- version: 0.772 (29.11.2003) *) Fix: tables.sql table "lsMailStore" column "UID" wasn't Identity. *) Fix: procedures.sql procedure "lspr_AddUserAddress" didn't allow to add second Address to user. NOTE: These are 0.77 fixes, for upgrade info see 0.76 to 0.77 below. Version 0.77 has many bugs, there were some bigger changes and very LOW DEVEL version testers, sorry about that. //---------------------------------------- version: 0.771 (28.10.2003) *) Fix: Filters adding GetClass didn't worked (if filter class not selected from list, then worked ok). *) Fix: When to delete all server from UI manager Mail Servers and close manager, when reopening it and trying to add server back get error "Object reference null ...". NOTE: These are 0.77 fixes, for upgrade info see 0.76 to 0.77 below. //---------------------------------------- version: 0.77 (25.10.2003) *) New: Rename Aliases -> Mailing Lists *) New: Move Mailing list "Members" database column to standalone table(lsMailingListMembers). Add new functions to API (AddMailingListMember,DeleteMailingListMember,GetMailingListMembers). This makes mailing list handling easier and allows very big lists. *) New: Move user email addresses "Addresses" database column to stand alone table(lsUserAddresses). Add new functions to API (AddUserAddress,DeleteUserAddress,GetUserAddresses). *) New: Block API to add duplicate rows. For example 2 users with same login name. *) New: Make API as interface and allow server to load module(dll) which completes API commands. (This adds possibility to create custom API handlers. For example mssqlAPI.dll, xmlAPI.dll, pgsqlAPI.dll, ... ) *) New: virtual servers - each virtual server must be listen on his own IP (if only 1 virtual server, it can listen all IP's), each server can have unlimited domains,users,aliases,... . *) Fix: POP3 message ID to IMAP UID (if using IMAP and POP3, when IMAP changed message flags then POP3 redownloads message) *) New: Added IMAP FETCH BODYSTRUCTURE and BODY NOTE: I you need to upgrade server 0.76 to 0.77, use Upgrade\mail_0.76_0.77\ to do it. Just run program and read insturctions from screen. // Info: *) xml initstring format datapath=your_xmlData_filesPath mailstorepath=your_mail_storing_path Example: datapath=Settings\local_xml\ mailstorepath=c:\MailStore\ *) mssql connetcionstring = mssql_conStr Example: connectionstring=server=localhost;uid=sa;pwd=;database=mail //---------------------------------------- version: 0.76 (06.10.2003) *) Fix: IMAP access wasn't possible to control with IP access. *) Fix: If mail store path don't end with \, add it. (Eg. if MailRoot = c:\mailroot, messages wasn't stored and delivered right.) *) Fix: If in IMAP fetch requested some header data(eg. boyy[headers]) and message data(eg. body[]), server returned full message data for header. *) Fix: If IMAP APPEND command didn't contain messsage falgs argument (\Seen, ...), append failed. *) Fix: IMAP sequence-set parsing (affected commands: FETCH,STORE,COPY). Raised for example if wanted to some delete/copy non continues(eg. 2,7,10,...) messages. *) Fix: IMAP EXPUNGE didn't report right number of message in respone if multiple messages deleted. NOTE: sql users must update procedures !!! //---------------------------------------- version: 0.751 (25.09.2003) *) Fix: Dns MX record resolver, don't get MX records if domain has multiple MX records with same preference. //---------------------------------------- version: 0.75 (24.09.2003) *) Fix: IMAP COPY command returned OK reply for every message, but need to return once. *) Fix: Mail session with BDAT -> RSET(reset) > mail session with BDAT caused error "mscorlib:Cannot access a closed Stream.". *) Fix: Dns didn't sorted MX records by preference *) Fix: Some code optimizations (IMAP) *) Fix: Changeing DB type doesn't take affect before restart mailserver or computer. *) New: Try all available SMTP hosts by MX preference order, if can't connect prefered host. *) New: Use SMTP client BDAT if remote server supports if.This gives speed improvement, because no "period handling" must be done. *) New: Added exact address routing possibility. Now is possible to use only * or *x or *x* or x. NOTE: Sql users update procedures !!! *) New: Added WebMail //---------------------------------------- version: 0.74 (04.09.2003) *) Fix: MS SQL procedures.sql was wrong file (auto scripting in EM manager doesn't worked ok). SQL users just run this script to your MAIL database. *) New: Cmd line virus scan support (VirusFilter) See help.txt "Using virus scanner:" for more info. (Needs testing and feedback) //---------------------------------------- version: 0.73 (23.08.2003) *) Fix: Manager UI Links for creating User, Domain, ... - didn't refresh UI, added values appeared after closing and reopening UI. *) New: Allow specify if alias is public or private (only authenticated users can access). *) New: Added default domain. If in RCPT TO: domain isn't specified, then default domian is added. Example: RCPT TO:, email = postmaster + "@" + DefaultDomain *) REM: Removed built-in postmaster. Now postmaster address must be added manually for each domain. NOTE for SQL users UPGRADE 0.72 to 0.73 !!! 1) Run script 072_to_073.sql. 2) Run script procedures.sql. //---------------------------------------- version: 0.72 (12.08.2003) *) Fix SMTP BDAT command errors 1) CUNKING was misspelled, was CUNCKING instead of CUNKING 2) Cunking allowed only binary, now allows all mime types *) New: POP3 AUTH command, supports LOGIN CRAM-MD5 authentications. *) New: Allow to enable/disable smtp/pop3/imap services. //---------------------------------------- version: 0.71 (04.08.2003) *) Fix: When database = sql, filters can't be used *) New: Test button for dns server *) New: Added sql server support for IMAP (Just run 07_to_071.sql and then procdures.sql to upgrade) NOTE: Current mailboxes messages get LOST !!! *) Fix: When database = sql, POP3 TOP command sended more lines than requested //---------------------------------------- version: 0.7 (25.07.2003) *) Initial IMAP implementaion Missing parts: *) sql server support *) SEARCH command *) some fetch types body bodystructure body[mime] You can try it with outlook express 6.0,outlook XP or morzilla mail 1.4 (Others I haven't tried). If you found some bugs, misbehaviour or got big knowledge about imap and have suggestions, please be free to contact ivar@lumisoft.ee. NOTE: Current mailboxes messages get LOST !!! //---------------------------------------- vesrion: 0.681 (10.07.2003) *) Server didn't accept addresses containing '#'. //---------------------------------------- vesrion: 0.68 (02.07.2003) SMTP AUTH CRAM-MD5 added, with this authentication passwords aren't transmitted over network. //---------------------------------------- vesrion: 0.67 (28.06.2003) Smtp Filters adding GUI + API added. (Filters.xml, can't be used from old projects, you must use newone.) Now is possible to specify log file pahtes. //---------------------------------------- vesrion: 0.66 (18.06.2003) Now is possible to run server as trayApp instead of service. Just add parameter trayapp to lsMialServer.exe. Eg. Target="lsMailServer.exe" trayapp. This adds win98 support !!! NOTE: running as service is suggested to later windows(2000,xp) users. //---------------------------------------- vesrion: 0.651 (17.06.2003) Bug fix, release mode didn't work, because filters schema was missing. //---------------------------------------- vesrion: 0.65 (11.06.2003) Added initial custom smtp filter support, UI isn't added yet. To try this feature, just add line(example commented in file, Release\Settings\Filters.xml) to Filters.xml. There is example filter too, lsSpamFilter project in mailserver root folder. Allow +,= chars in email address. //---------------------------------------- vesrion: 0.64 (24.05.2003) ManagerUI route form - when adding new route and domain wasn't selected. object NULL reference was raised. SQL procedure lspr_AddSecurityEbtry fix, adds true for enabled column. (Before raised error, NULLs isn't allowed ....) //---------------------------------------- vesrion: 0.63 (07.05.2003) Server didn't accept addresses containing '*'. //---------------------------------------- (29.04.2003) Fixed all net 1.0 obsoletes and removed all compile time warnings //---------------------------------------- vesrion: 0.62 (26.04.2003) mail server rejected postmater address. //---------------------------------------- vesrion: 0.61 (23.04.2003) prodedures.sql @x = null fixes, must be @x is null. //---------------------------------------- vesrion: 0.6 (16.04.2003) Updated to NET 1.1. //---------------------------------------- vesrion: 0.582 (11.03.2003) Bug FIX: string emailAddress = sender; -> string emailAddress = forward_path; (Result server didn't accept multiple recipients, this typo came with 0.58 modification) //---------------------------------------- //---------------------------------------- vesrion: 0.581 (01.03.2003) ReadReplyFromSocket -> ReadData. Some redesign in ReadData(ReadReplyFromSocket) method and _FixedStack, gives better performance. SMTP auth LOGIN fix.(If there was empty password, error was raised) //--------------------------------------- //---------------------------------------- vesrion: 0.58 (25.02.2003) _Core.ReadReplyFromSocket bug fix, check that recieved number of bytes == to expected. _Core.ReadData _Core:readLine SMTP_Client Fixes most server sending errors, mainly this affects w2k users. //--------------------------------------- //---------------------------------------- vesrion: 0.57 (20.02.2003) *) Undelivered/UndeliveredWarning to use server.smtp_Server_NewMailEvent (Don't store message to relay folder.) Now if using NAT router, IP NAT loopack enabled isn't neccesary any more. //--------------------------------------- //---------------------------------------- vesrion: 0.561 (18.02.2003) LSMailserverManger.exe, isn't compiled(contains old exe) by defult. //-------------------------------------- //---------------------------------------- vesrion: 0.56 (17.02.2003) If no MX records are found, but an A RR is found, the A RR is treated as MX.(Rfc 2821 .5) Now can deliver to domains without MX record. Allows to enable/disable user. Allows to Allow/Deny relay for user. (NOTE: if is user relay is denied, IP security isn't checked) //---------------------------------------- //---------------------------------------- vesrion: 0.55 (14.02.2003) New feature Remote pop3 accounts. There is possibility to add external pop3 accounts to server accounts. Pop3_Client bug fixes, must work ok now. NOTE: sql users must add two new fields (AllowRelay(bit - def value = true),RemotePop3Servers(image)), see Tables.sql for more. Procedures must be reloaded from procedures.sql. //--------------------------------------- //---------------------------------------- vesrion: 0.54 (06.02.2003) TcpClients in LumiSoft.Net.dll -> raw Socket. (Pop3 client,Ftp client,Core functions) NetworkStream -> raw socket (Core functions) (Don't use wrappers any more,better performance and less trouble) UI -> Delivery -> Store undelivered messages - can specify if to store them or not. (NOTE: True , must be added Settings.xml manually. **** !!!!! For more see Differences of yourOldSettings and new .xml files) SMTP.NOOP cmd error - terminated session session (Now just replies 250 ok - as required in rfc). LumiSoft.Net.AuthUser_EventArgs -> LumiSoft.Net.SMTP.Server.AuthUser_EventArgs LumiSoft.Net.AuthUser_EventArgs -> LumiSoft.Net.POP3.Server.AuthUser_EventArgs //---------------------------------------- //---------------------------------------- vesrion: 0.53 TcpClient -> To raw Socket in smtp client. (Nt4 sending mail to unix box caused data loss - there is some error in TcpClient, but raw socket works ok.) //---------------------------------------- //---------------------------------------- vesrion: 0.52 Relay message header's DateTime format moved to Invariant 'r' format.(rfc 1123 format) (This setting, now don't relay to system regional settings any more) //---------------------------------------- //---------------------------------------- vesrion: 0.51 MailServer manager didn't accepted MSSQL database type. (Always was XML) SMTP clinet added additional at the end of message. //---------------------------------------- //---------------------------------------- vesrion: 0.5 Parameter parsing in SMTP server moved to Regex. For example now parses: ( "From:"; "From:test@test-1.lumisoft.ee"; " From: Size=10"; "From:test@test-1.lumisoft.ee Size=10"; "From:"; ... ) New mailserver GUI - this is needed for remote management support. StreamLine reader had bug, for last line left at end of line. RelayInfo.MessagePos - reported wrong position. MailserverComponent removed and joined to LumiSoft.Net project. Some namespace changes eg. LumiSoft.MailServer.POP3 -> LumiSoft.Net.POP3 //---------------------------------------- //---------------------------------------- vesrion: 0.4267 HELO support in SMTP client added(when server doesn't support EHLO). //---------------------------------------- //---------------------------------------- vesrion: 0.426 Core.DoPeriodHandling - rewritten, now don't use any Encoding anymore. Does period handling directly to byte data. Removes possible codepage problems. //---------------------------------------- //---------------------------------------- vesrion: 0.425 Core.ReadReplyFromSocket - Terminator checking moved to Stack. This approach uses less cpu and is faster. Core.ReadLineFromSocket - timeout is now 20 seconds, was 4. Net.dll - Core.ReadLine() timeout is now 60 seconds, was 20. Enviroment.TickCount -> DateTeTime.Now.Ticks. //--------------------------------------- //---------------------------------------- vesrion: 0.424 MailserverComponent Core.ReadReplyFromSocket timeout(Checking) and Encoding.Ascii(must be Default) bugs fix. //--------------------------------------- //---------------------------------------- vesrion: 0.423 Update security entry fixed (API). //--------------------------------------- //---------------------------------------- vesrion: 0.422 MAIL FROM:<> BODY=8BITMIME - parameter parsing fix. //--------------------------------------- //---------------------------------------- vesrion: 0.421 SMTP client supports now multiline 220 greetings. //--------------------------------------- //---------------------------------------- vesrion: 0.421 Added SMTP PIPELINIG support (eg. client can send now MAIL FROM:RCPT TO:RCPT TO: ... - with one command) Because of it Core.ReadLine,ReadReply is rewritten. bug Environment.TickCount -> DateTime.Now.Ticks (Core.ReadLine,ReadReply) also fixed SMTP client checks and adds SIZE param to "MAIL FROM:<> SIZE=xx". This avoids sending size exceeded messages. DoPeriodHandling: ASCII to ANSI, required for 8BITMIME implementation. Initial 8BITMIME support added //---------------------------------------- //---------------------------------------- vesrion: 0.420 Sql db datatypes enlarged.(Problems with big addresses) NOTE: Tables(ls_xxx) altering must be done manually, who must keep data. Routing now supports *. eg. pattern='*' - routes all mails to specified mailbox. Routing can now route to remote addresses. //--------------------------------------- //---------------------------------------- vesrion: 0.419 MimeMessage -> MimeConstructor (redesigned and written) Pop3Client added MimeParser added //--------------------------------------- //---------------------------------------- vesrion: 0.418 SMTP client didn't handle 250-xxx 250 aa - means end some cases right. Eg. if 250-xxx was sent and then 250 aa //--------------------------------------- //---------------------------------------- vesrion: 0.417 SMTP serverdidn't report mail from: in NewMail event (It was ''). //--------------------------------------- //---------------------------------------- vesrion: 0.416 Security.xml - SartIP->StartIP //--------------------------------------- //---------------------------------------- vesrion: 0.415 APOP cmd didn't report available messages in inbox APOP cmd didn't check if user loggied in already UIDL mulitline response added +OK to evry line, but must be +OK xxx1 kj13kj14n4. //--------------------------------------- //---------------------------------------- vesrion: 0.414 APOP cmd didn't set authenticated flag TOP,UIDL - didn't check if authenticated POP3 you are not authenticated wasn't terminated //--------------------------------------- //---------------------------------------- vesrion: 0.413 API+DB bug fixes Environment.TickCount -> DateTime.Now.Ticks (SMTP/POP3 sessions) //--------------------------------------- //---------------------------------------- vesrion: 0.412 Cache log writing (_LogWriter class), improves speed many X SMTP AUTH LOGIN - error fixed(actually didn't checked user) MailServer initial help(file) project added. Error handling moved from Component to Server.exe(See new event SysError in SMTP or POP3 server) Routing redesigned and added SQL support //--------------------------------------- //---------------------------------------- vesrion: 0.41 APOP cmd for POP3 added SIZE cmd for SMTP added improved parameter parsing //---------------------------------------