.! .! DEC INTERNAL USE ONLY .! .! Nmail documentation - new features .! .! Dave Porter 15-Feb-1989 (V9.1) .! 26-Feb-1991 (V9.2) .! 7-May-1992 (V9.3) .! 15-Nov-1993 (V9.4) .! .hl+1 New Features added since V9.3 .ls "o" .le;A new option on ANALYZE#QUEUE allows any message files which were not found in the queue to be returned to the sender; previously, they were simply resubmitted without modification. .le;Further ANALYZE qualifiers, /BEFORE and /SINCE, allow partial repair runs based on the message date. You can, for example, execute one command to return all very old messages, and then another command to resubmit more recent messages for further attempts to send. .le;If ANALYZE is unable to determine when a message was created by reading the .WRK file (for example, if it's not a well-formed Nmail control file) then it will now display the file's creation date/time instead. The time stored in the file is preferred since it's not so easily changed. .le;CANCEL and ANALYZE now allow you to specify some text to be included in the returned message; see the description of the /REASON qualifier. .le;SHOW#QUEUE now supports an /ENTRY qualifier, to allow display of just one Nmail job. .le;Execution queues now have /NOENABLE_GENERIC; this prevents random print jobs from ending up in Nmail queues. .els .hl New Features added since V9.2 .ls "o" .le;An undocumented and unused feature of Nmail used to place special significance on a dot in the node name part of a mail address. This meant that Nmail couldn't handle Phase V names, so the funny feature has been removed. .le;The generated names for control files have been changed so that they are not generated in ascending order. This supposedly improves directory accesses. .le;Queues are now initialized with /SCHEDULE=NOSIZE. This avoids permanent lockout of some jobs on underconfigured systems (where the number of execution queues cannot keep up with the mail load). .le;Nmail's 512-byte record size limitation is now documented in online help text and in the user guide. .le;The sending timestamp now includes a time differential factor (offset from GMT) where this can be determined. This feature is only available if your system has the UTC time services which are today installed along with DECnet-VAX Extensions or DECnet/OSI for VMS. The UTC services will be included in the Blade release of VMS. .le;The default for CANCEL is now /RETURN, since that's a safer default. To request immediate cancellation with no return of the message, you can use /NORETURN. .le;As always, if an Nmail job goes away whilst it's being SHOWn, there's not much that Nmail can do about it. However, since the new job controller, Nmail was reporting this as an "unexpected error". Now it's a bit more graceful about it. .le;Nmail now runs on Alpha hardware as well. Use the same kit for VAX and Alpha systems. .le;V9.3-4 will work correctly on the Epsilon (V2.0) release of Alpha VMS; older versions cause MAIL to loop, signalling an ACCVIO error, when trying to activate the Nmail transport. To fix this, a new image called NM__MAILSHRP.EXE was added to the kit. .els .hl New Features added since V9.1 .ls "o" .le;Certain changes in the VMS batch/print subsystem made Nmail unable to tell when a queue was stopped; this broke the commands NMAIL STOP QUEUE and NMAIL ANALYZE QUEUE. Nmail has now been fixed to work correctly with both old and new queue managers. .le;A few new fatal errors were added to NM_$ERROR.DAT: "unbalanced", "host unknown", and "user unknown". These are all related to sending mail through the ULTRIX mail gateway. .le;Nmail tries to remove all "NM%" occurences from the to-list prior to delivery, since they look ugly. It failed to do this if the addresses were separated by spaces, not commas. It was just a cosmetic problem, but is now fixed. .le;Nmail's parser no longer assumes your personal name is a well-constructed string, with matched quotes, etc. In previous versions, certain ill-formed personal names would cause a fatal syntax error to be signalled. .le;I added a paragraph about MAIL's SET TRANSPORT command to the help text, since this seems to have been a well-kept secret. .els .hl New Features added since V9.0 .ls "o" .le;Nmail now supports the transportation of DDIF files, produced by various DECwindows applications. DDIF files are fully supported by the DECwindows MAIL interface. There is partial support in VMS MAIL; you can send DDIF files, but you cannot display received DDIF files. If you try and read a received DDIF message, you will only see any text (there may be none) embedded in the message. .le;Nmail now has the ability to transport messages of any file format, using the unsupported SEND/FOREIGN command of VMS MAIL. If it's not text or DDIF, use SEND/FOREIGN. .le;ANALYZE QUEUE now checks for jobs which are wedged in a "retained" state due to previous system failure; the occurrence of such jobs usually correlates with some kind of cluster disaster. If /REPAIR is specified, then the retained jobs can be released or cancelled at the choice of the user. .le;CANCEL now offers a /RETURN qualifier, which causes a copy of the message to be returned to the sender before cancellation is complete. .le;Error messages from the remote mail object which include the string "cannot accept" are now considered to be fatal. This catches the new error "cannot accept this message format" which was introduced when DECwindows support was added to MAIL. .le;This version discontinues support for "format1" and "format2" control files; as near as I can figure it, this means that messages posted with Nmail V8.0 or Nmail V8.1 cannot be delivered by Nmail V9.1. Anything posted by Nmail V8.2 or later should be ok. In case you're curious, the current control files are "format5". .le;Nmail had a habit of very very occasionally slipping in an extraneous null character (_^_@) at the end of a document. It did this only if the last block of the document had exactly two free bytes. Anyway, it doesn't do that anymore. .le;Nmail now opens files by file-id under all circumstances, thereby avoiding the problems which sometimes occurred when the filespec stored in the job controller's queue had become invalid. It wasn't possible to make this change until VMS V5, as SYS_$GETQUI had to learn how to say "file-id" first. .le;The operation of the /DELETE qualifier on the STOP QUEUE command has changed; it now deletes all queues including the top-level NM_$QUEUE. Any jobs in the queues are lost until you use ANALYZE QUEUE /REPAIR to recover them. This change in behaviour is regrettable, but the previous implementation was broken by VMS V5.2 job controller changes, and cannot be restored. .le;The startup command file is now SYS_$STARTUP:NM_$STARTUP.COM, in accordance with the VMS V5 way of doing things. Don't forget to edit your system startup procedures! .le;There are some release notes in the Nmail kit, as expected by VMSINSTAL. .le;The installation procedure now provides help if you enter a question mark in response to any prompt. .le;Running the IVP is now optional at installation time. Execution of NM_$STARTUP.COM is also optional if you don't choose to run the IVP. .le;If you have defined NM_$WORK to point to somewhere other than the usual Nmail work directory, then the installation procedure will apply the old definition to the new installation. .le;Nmail's SHOW#QUEUE command will now issue a warning message if it finds jobs to display and there are no Nmail queues which are started. .le;The Nmail daemon now uses different job names for the various types of Nmail jobs that it can submit: REPORT for error reports, SUMMARY for end of run summaries requested by the user, and RETURNED for messages returned to sender on error. This last category is only used for foreign or DDIF messages, since text messages are returned in the REPORT message. .le;Job submitted by the daemon are now submitted under the pseudo-user name NMAIL-DAEMON. .le;There used to be an undocumented logical name NM_$MAXRETURN which would restrict the size of messages which Nmail would return to sender. The implementation was not compatible with changes made for foreign message support, so it is no longer supported. .le;I have added a couple of variations to NM_$CONFIRM with the aim of cutting down mail noise in cases where Nmail manages to deliver the message on the first attempt (which is usually the case for purely local deliveries). Refer to the User Guide for details. .els .! End