home *** CD-ROM | disk | FTP | other *** search
- History
- =======
-
- This shows you what what I did in various versions of QM, sort of a diary
- type thing.
-
- It also shows you how it works, in some places - so if you ever find an
- error, you may be able to see why - and then, of course, tell me about it :)
-
-
- Version 1.00 - comma seperated BCC, CCC and To fields failed
- Version 1.01 - the above was fixed :)
- Version 1.02 - Noticed a possible bug when the user hadn't entered
- either a 'To' or a 'cc' field, fixed.
- Also, noticted that the date format was not correct
- for emails - Marcel showed it as a "?"
- Version 1.02a - date handler re-written so it now shows them in
- Marcel and hopefully any other program.. although, it doesn't
- do BST or GMT yet.. but hopefully there's no need for these
- anyway.
-
- Also, the mail destination dir has been changed
- because if you were sending the mail to <someone>@localhost,
- then it failed because ANT never got the chance to interpret
- the mail before deciding on its destination.
-
- Version 1.02b - The program has also undergone some extra code to get
- it to work under the compiled environment - as it should be
- quicker in some areas
-
- Version 1.02c - Added support for sending all queued mail at once by
- running ANT's program stored within its Bin dir.
- However, when making my function to read keypresses
- (y/n) - I think I discovered a bug in BASIC! :-P
- So, it meant that I had to re-write the function all
- on one line, instead of using a multiple IF.. THEN..
- ENDIF procedure.
-
- Version 1.03 - The FNGetYn function was repaired, various bits of
- code tidied up.
-
- Support for bad email addresses (asks you if you
- really wish to post to a 'bad' address)
- You *can* now enter multiple addresses in one field
- with commas seperating them.. you couldn't before,
- well, you could, but after the first, the rest got
- chopped... I have now used my own input routine,
- which has sorted out the problem.
-
- Also, now when you say that you don't wish to post to
- a 'bad' address, that address gets removed from the
- partitcular field.
-
- Wrote 'Mar2Qm' to convert Marcel-made address books
- into QuickMail format.
- Hopefully, I'll write some code to actually use the
- file in a later version :)
-
- Version 1.04 - Added the support
- inside QuickMail for alias -> address swapping
- So, we can now use people's nick names for their
- addresses - wow! ;-)
-
- Also, I could make it better though I suppose, cos
- its not that fast @ tracking the aliases - but then again,
- it doesn't store them in memory - which is the main purpose
- of the prog (so use a small-memory emailer). So I
- will probaly leave FNYank_Address as it is.
-
- 'Mar2Qm' has also been edited a tad from version
- v1.03, to make it work a bit better.
-
- Version 1.04a - The Input routine has been re-written so that it now
- uses the Delete key's control code, instead of Chr$(8)
- as this now works properly with !Edit.
-
- Version 1.04b - A simple fix - the escape status (of the escape key) is
- now being reset after you end a line with return.
-
-
- Version 1.04c - Added "Do you still wish to post this mail?"
- mainly for testing because it meant I had to keep
- deleting the mails manually.
-
- Also, an attempt at cursor line editing was done -
- but its not finished yet.. maybe a later version.
-
-
- Version 1.05 - The save box ability was added.
-
- Version 1.05a - I noticed that if you leave all fields blank, to quit
- the program .. whenit comes up with "Don't send
- mail.." it doesn't close any of the open files.
- So, I've sorted that out by jumping to the error
- routine which should close them all.
-
- Also, I noticed that when you don't enter anything
- for the To: field, it still shows it on screen but
- obviously, as blank. This has been sorted now.
-
- Version 1.05b - Changed a bit of text, added a small bit of code to
- remove "Reading Xheaders" and all that rubbish after
- it they had been loaded.
-
-
- Version 1.05b.1 - If you used commas in the subject line, it would
- miss the rest of the text off after the first
- comma. I've now swapped BASIC's INPUT for my own
- input routine which I use with everything else.
-
- Version 1.05c - Got bored with 1.05 versions - decided to make it
- 1.06 ;-)
-
-
- Version 1.06 - I noticed that if you press escape whilst you are
- being asked for the addresses, it keeps the next
- input line on the /same/ line.
- (ie. To: Cc: BCC: etc )
-
- This has now been rectified. Also, I have added a
- function to strip the control codes from any text
- that you enter into the address fields.. this is
- because for instance, my code will not believe that
- you have *not* entered an address, if you pressed
- escape.. because escape /is/ a control code.. so the
- string my code is checking isn't blank.
-
- It should not cause any problems anyway, since you
- shouldn't have control codes in email addresses.
-
- Version 1.06a - I was reading ANT's chat mailing list, and somebody
- said that the mail software should remove single
- dots on a line.. as SMTP servers took this to mean
- the end of the mail. I had forgotten about this,
- so, now, if QM comes accross such a line, it will
- add 3 spaces after it.. which *should* solve the
- problem.
-
-
- Version 1.07 - Added URL grabber code to get address from an
- external helper, ie !Fresco.
- Also, made the sig seperator have a space after
- the two dashes - as this is how sig seps are
- supposed to work.
-
- Version 1.07.1 - Tells you what the To field is, if set by an
- external app, and doesn't tell you to enter
- the to, cc and bcc fields - there's no point!
-
- Also, the ExtURLSet and GrabURL have been sped up.
-
- When mail addresses come from an external app,
- which have a prefix of MailTo: then this is
- stripped off by QuickMail, internally.
-
-
-
-
- Version 2.00 - * Not released *
-
- !QMConfig created by Andrew Berry. He updated the
- config file, which meant changing both QM's code, and also
- "ExtURLSet". Hence, old configs no longer work.
-
- QM Now works inside the !Scrap directory, and uses
- its own directory to store mails in. This was because I *was*
- storing them inside ANT's own dir, whilst they were being composed.
- Which, however, caused problems. These problems
- should now be rectified.
-
- Moved Binary programs (ExtURLSet, GrabURL,
- MailDelivr, Mar2QM) into a 'Resources' directory, to
- avoid clutter of the dir. The programs involved
- were also edited slightly to cope with the change.
-
- Mar2QM has now been sped up dramatically, not that
- its one of the most used parts of the program, but
- I felt like it :)
-
- *All* 'User' files have now been moved into a 'User'
- directory, to avoid cluttering.
-
-
-
- Version 2.00.1 - * Not released *
- QuickMail,Mar2Qm and ConfigRead have had the
- hourglass loading indication added to file-loading
- operations.
-
- Mar2Qm has been edited a small bit to display a
- version number, and also not display all of the
- addresses down the screen, but in the same place
- (similar to the *checkmap command). It also now
- performs a Wimp_CommandWindow,-1 so it returns to
- the desktop after conversion - for easier
- collaberation with !QMconfig.
-
- History list moved to seperate file (ie this one)
-
-
-
- Version 2.02 * Not released *
- A few things tidied up. Final release(??!)
-
- Version 2.03 * Not released *
- Can't remember. Probably something trivial :)
-
-
- Version 2.04 * Not released *
- Added extra user-file commands like the alteration
- of the host name, and locations of sent box etc.
- Am still awaiting a new version of QMConfig from
- Andrew to cope with the changes.
-
-
- Version 2.05 * Not released *
-
- Changed the X-Headers file a bit to demonstrate
- things to the user.. eg, the Priority: Urgent
- and explained it.
- Also, noticed that adding spaces to the X-headers
- file on their own line, adds spaces into the mail !
- Any blank lines in the file are now ignored by Qm.
-
- Removed the code which asks you whether you want ANT
- to start sending the queued mail now. This is
- because it obviously won't work with other suites,
- and also because ANT may not have processed the mail
- in time, before it actually *sends* mail to the server.
- And, another reason - it just annoyed me ;)
-
- Made QM stop complaining about 'localhost' and 'loopback'
- addresses being 'bad', as they are actually feasible
- under ANT.
-
- Added a few '(y/n)' texts after key press prompts.
-
- Re-structured the !Help file so that it's in
- chapters.
-
- BASCompressed the !RunImage to save disk space and
- memory. Also, it runs faster (I think)
-
- Version 2.06 Re-wrote handling of X-headers file. It no longer
- loads them into a memory block which was setup for
- 20 lines no matter how many you had.
- This new code is called only when the mail file is
- being created - and therefore, won't tell you its
- loading the file.
- Now, all that happens, is that, if the file exists,
- it is loaded, checked for various bits, then the headers
- written into the new file.
-
- This means that you can effectivley have unlimited
- headers, which is much better, esp since it saves
- memory :)
- I still recommend a minimal amount though.
-
-
- Wrote CSV2Qm to convert CSV files into Qm format
- address books. Well, it was basically Mar2Qm
- rebadged and with some different parsing code.
- I decided to just make Mar2Qm recognise both Marcel
- and CSV file-types to make supporting other suites
- easier.
-
- Wrote Qm2CSV to convert a QM mail file into a CSV
- format file.
- Syntax: *Qm2CSV <output filename for CSV creation>
-
- Wrote ListAdrs to list the QuickMail address book to
- screen. Pressing 'P' pauses the output.
-
- Edited ConfigRead to be a tad quicker at reading the
- config file.
-
- Version 2.07 Changed the length of Message-ID so that it is now
- much smaller. Apparently, Pipex's servers get upset
- (and don't send) about mails with long message-Ids.
- I haven't had anybody report this with QuickMail,
- but saw it in a newsgroup - so just changed the
- message Id create routine a touch.
-
-
- 'Commissioned' Ally to write !QMC. Well, he wanted
- to beta test it - so I told him to write a config
- app at the same time <laugh>
-
- Edited Mar2QM a bit so that it would cope with CSV
- files a bit better.
-
- Edited ListAdrs a tad to make it easier to check
- whether CSV files have been parsed correctly.
-
- Version 2.08 Nothing major - no bug fixes.
- Simply changed;
- * The message ID text if there is no hostname to be
- found, from localhost.lch to simply, localhost
- * Added some useful messages about closing the task
- window to finish the session - as it may have
- been confusing for some people.
- * Changed my email address from MoZes@ccl4.org to
- MoZes@ccL4.org - people seem to think ccl4 is
- cc14.
-
- I think this may finally be the final version.
-
- Version 2.09 Whooops!
- I noticed whilst removing my From: address from the
- config file, that QM didn't detect the lack of it !!
- This is now fixed.
- Also, major whoops!! I never added from the very
- first version the actual CODE support for REply-To:
- So, you could set it, but the mail never got it
- written to it!! This is now fixed as well.
- It also tells you you have a Reply-To address set when
- you compose the mail, if it *is* set.
- QM also doesn't default it to the From: address if
- you don't have a reply-to set.
-
- Version 2.10 Added support for >79 characters per line length. It
- can now be changed in the config file by hand.
- It has a limit of 250 characters though - but thats
- too much for one sentance anyway since it should really only
- do for upto 80 chars in the RFC.
-
- Version 2.11 Made it check properly whether it had managed to
- delete the composed mail or not. (so it now checks for errors and
- wotnot properly)
- Also, it now reports 'QUICKMail' as its task, whilst
- running.
-
- Version 2.12 Now copes with CGIish type MailTo: URL formats which people
- seem to be putting in their e-mail URLs on homepages.
- It will decode this type sucessfully;
- MailTo:whoever@domain.org?subject=whatever subject
- the mailto: or ?subject= part do not mind which case they are
- in (both upper/lower or a combination of both are catered
- for)
-
- Dodgy MailTo:'s are also coped with, eg a space in the e-mail
- like Mo Zes@ccL4.org Of course, nobody should do this, but
- perhaps it may get messed up in transport from the app to QM,
- so the code's there anyway.
-
- The code which generates a sentbox, and opens the old
- sentbox has been modified so that it can trap errors before
- it tries to write directly to the file.
- It first does a *Access etc wr on the file to make sure that
- we are able to modify the file, which we need to be able to
- do. If an error occurs at this stage (we trap the errors
- silently so they don't cause a fatal error in QM which gets to the main error
- handler, hence stopping mail composition), we tell the user
- that we can't use the sentbox specified.
- It then *CREATEs a new file if one does not exist, and
- assuming there was no error from the first *ACCESS. If this goes okay, then
- we will be able to use the sentbox. Again, if an error occurs then
- we silently trap it, and tell the user.
-
- Version 2.13 * Not released *
- SMTP direct sending implemented via will-l's "Jess" Agent
- New command added to the config file to support the mail server
- which SMTP sending will use.
- Got to remember to ask Ally to edit !QMC to incoporate the
- changes.
- Added a Built date into the X-Mailer headers for e-mails
- just for human curiosity.
-
- Also updated the !Help file to bring in the SMTP changes,
- and other little changes which needed doing.
-
- Version 2.13a * Not released *
- Simply made it state which SMTP server you had specified when
- asking you if you wanted to send locally or SMTP.
- Made it easier to test because I wanted to know which server
- I was using - when I was testing it on as many as I could.
- Plus its useful to know which one you have selected.
-
- Version 2.14 * Not released *
- The BST/GMT time zone has finally been added.
- If its BST, it will add "+0100 (BST)" to the end of the
- Date: field. If GMT, then "+0000 (GMT)".
-
- Also, the information available ie Subject: when entering the
- e-mail, has had the Date: field added as well.
-
- Ally got around to redoing !QMC as well, so it now
- encorporates the changes I needed - the mail server field etc.
-
- Version 2.15 * Not released *
- Comissioned Ally to write a better SMTP sending agent as Jess
- was having problems, and I couldn't be bothered to wait for Will to fix it
- else I probably would have scrapped the idea totally. The interface
- "protocol" has changed slightly from version 2.14 so it uses different
- variables which Ally's new prog will use. Otherwise, the actual interface
- between QM and the external agent is identical.
-
- Version 2.15a * Not released *
- Noticed that when pressing the "Enter" key, it had odd
- effects. Its supposed to be the same as pressing the "Return" key - this
- *is* now the effect.
-
- Modified Ally's SMTPSend program to work with QM myself.
-
- Modified QuickMail itself. It no longer produces &D after
- the headers as this really messes up direct SMTP sending.
- It only produces &d on the final "dot" (to denote end of
- mail). Everything still works fine with ANT suite.
-
- Changed the loading format of SMTPSender, now uses sys vars.
- QM unsets them after its finished sending.
-
- This is the end of this program now, I've had enough.
-
- Version 2.16 * Not released *
- Okay, I lied. I thought I should make the mail sending multi
- tasking - mainly because the server I use sometimes takes at *least* 5
- seconds to connect .. and hogging the computer for at *least*
- 10 was unacceptable.
- So, I've added another option in the config file called
- SMTP.MultiTask:
- By default, it is switched to "no" so it doesn't multi task
- when sending mail to the specified SMTP server, this is
- because it will use up another 28k to open a task window and run itself in
- it, which may not be great for small memory machines.
- However, I *have* reduced the wimp slot for QM itself to 28k, where it was
- previously 42k.
- Making multi tasking SMTP sending also means you can use it
- on your local machine with FreeSMTP - which is essential for peeps who use
- it!
-
- Version 2.17 * Not released *
- Added the Always.SMTPSend feature of the config file into
- the program because when Gerph was testing it, he doesn't
- have ANT - so couldn't do anything else anyway.
-
- Changed "Cc:" and "Bcc:" to "CC:" and "BCC:" because thats
- what case they are supposed to be in.
-
- Changed QM's config file variable to be QuickMail$ConfigFile
- I edited QMC and ConfigRead accordingly.
- This is so that we can use the Choices: directory on RPC
- !Boots. Just got to write the prog to find out where the
- file is.
-
- Changed the display so that Date: and Subject: came first.
-
- Version 2.18 * Released as a Beta *
- Made QM now use Message files for most of its messages. The
- SMTPsender doesn't use them though.
-
- Fixed a bug in that when you opt to remove a bad address
- from the BCC field, it didn't actually remove it when it printed it on
- *Screen* - it would however not actually put the bad email address in the
- composed file. I simply forgot to switch the variable, which is no longer
- needed after the headers have been built, for the variable which has been
- "swapped" for either the alias, or have a bad address removed from it.
-
- When inputting subject, To, Cc etc - they're now all lined
- up.
-
- Version 2.19
- Turned off the BST/GMT as default. Option now in config file.
- Made SMTPSend time out after a certain period of time. The
- amount of time is stored in the "UserConfig" file.
-
- Stopped QM from putting spaces before it writes mail to the
- sentbox, only if the sentbox is of zero bytes (ie QM just created it)
-
- Version 2.20
- Added a way of having random taglines appended to the
- signature. Look in !QuickMail.resources.rndsig for the
- answer, and edit the UserConfig file manually.
-
- Version 2.21 The SMTP agent would not close the mail file when it returned
- a server error message, so if you discarded the composition once
- control returned to QuickMail, QM would crash with a file open error.
- Now fixed.
-
- Changed Mail date handler to use the proper SWI instead of
- my own code, therefore now does all time zones.
- The config option in the config file can still be used to
- specify whether you want it to say the time zone (eg BST/GMT) or not.
- The config option has now changed to Use.TimeZone however, to
- reflect the fact it is *any* time zone, not just BST or GMT.
-
- Version 2.22 Instead of writing the FCC folder as we go along, we now
- write it only when the user says they want to post the mail.
- This means we no longer have a copy of the mail if the user
- says they don't want to post the mail, which was quite annoying.
-
- Changed Message file to have an extra entry to say it was
- writing the FCC folder.
-
- Gave QM my random tag generator which I use for ANT. It can
- support random quotes of the day if the data is prefixed
- with &
-
-