MAILTOOL Release Notes

v1.00  - Original
v2.00  - Added ability to email an attachment, such as an HTML file,
          as the body of the message.  This is done specifying the
          special value *ATT for the Message, and then listing the
          attachment(s) you want to use as the body.  All attachment
          files are treated at "text-only" type files when being placed
          into the message body. 
         NOTE:  There is also a new paramter named 
          "Body Content Type (BDYCT)" that should be changed to the 
          appropriate content type.  For example, if you are sending
          an HTML file as the body, or using HTML in the message text,
          this value should be "text/html".
v2.01  - Fixed bug when attaching a file larger than 32k as the body
          of the email.
v2.02  - Internal updates.
v2.03  - Fixed bug when sending attachments.  Attachments could be
v2.04  - Added logging.  The file MLTLOGPF in the MAILTOOL library
          will keep track of certain parameters when MAILTOOL is used.
         Changed the Subject line from 256 to 1024 characters.
         Changed the Message line from 512 to 4096 characters.
v3.00  - Updated to integrate with SPLTOOL and AFPTOOL.  
         Added ATTNAM (Attachment Name) parameter.  This parameter
          can be used to name the attachment in the email something
          different than the real file name.  Default is to use
          the real file name.
v3.01  - Fixed bug when emailing more than one attachment.  The 
          2nd and latter attachment file names became corrupt.
v3.02  - Changed the limit of attachments from 20 to 50.  If using
          with SPLTOOL you should use at least v8.02 of SPLTOOL.
v3.03  - Allow blanks for attachment names that will be ignored after 
          the first paramter entry.  If attachments are used, the 
          first attachment parameter must be used.  
v3.04  - Removed name of day formatting from date.
v3.05  - Added Importance (IMP) parameter.  Can be used to specify normal,
          high, or low importance.
v3.06  - Added DEBUG parameter.  When *YES is specified, the MIME file used
          to send the email is copied to /tmp/mailtooldebug.txt for viewing.
v3.07  - Updated date routine.  Was causing errors in date when the language
          was non-US.
v3.08  - Added a Mail Disposition Notification (MDN) option.  This allows you to
          specify an email address in which to send a notification when the email
          is received and read.  Please note this is not foolproof and does not
          always work.  This option can be shut off at the client and server levels
          of the receipient.
v3.09  - Updated To: and Content-Disposition: headers.  They weren't including
          quotes around the names if specified which caused problems with some
          email servers.
v3.10  - Updated method of getting MIME file name.  On newer (fast!) machines running
          multiple jobs the MIME header file names could clash.  An update was added 
          to fix this problem.
v3.11  - Added the ability to use the special value *USER for the From Address
          (FROMADDR) parameter.  This will instruct MAILTOOL to use the SMTP name
          from the directory entry of the user the is running the command.
v3.12  - Updated processing to convert to and from addresses to CCSID 500 before
          calling QtmmSendMail API.  This requirement was recently added to the
          IBM documentation for this API.  This update is supposed to fix problems
          that people have with having to use characters other than "@" in their 
          email addresses (for example the § or à characters).
         Updated to retrieve default CCSID instead of job CCSID.
v3.20b - Changed attachment processing... *PLEASE READ*
          If specifying *ATT for the message parameter, this will now ONLY use the
          FIRST attachment specified as the body of the message.  All other attachments
          listed will be treated as normal attachments.
         If you are currently using the *ATT special value for the message body 
          parmeter and are specifying more than one attachment to be the body of the
          message, you will need to update your procedures before applying this
          version of MAILTOOL.
v3.21  - Added the Recipient Separator (RECSEP) parameter.  This is used to specify the
          character to use to separate multiple email addresses.  In the past this was a
          semicolon.  On very few machines this caused problems.  I added this parameter
          and defaulted it to a comma which seems to be the norm with most email clients
v3.22  - Added double quotes around name or email address (if no name).  Some systems had
          problems with special characters in email addresses if not in quotes.
v3.23  - Added error checking for CPF3C17 that will be returned on V5R2 if a bd
          recipient address is used.
v3.24  - Added option to control the newline characters that are used and solve
          issues on machines not using a US code page.  If \n is not working use
          the following command:
          You can then use the \n character for newlines.  If you want to use
          another 2 characters, you can change what is used using the CHGDTAARA
v3.25  - Added Reply-To parameters.  You can now specify up to 10 addresses that
          will be used for reply to recipients.  If no addresses are specified
          replies will automatically go to sender.  
         NOTE: If you use the Reply-To parameter and want a reply to go to the
          original sender you must include the original sender's address in the
          reply to list.
         If using this version with SPLTOOL, you will need SPLTOOL v8.06 or higher.
         Added parameter to name the debug file.  Defaults to mailtooldebug.txt.  
v3.26  - Fixed bug with timestamp placed in MIME header file.
v3.27  - Fixed debug file parm to be Mixed case instead of MONO.
v3.28  - Fixed bug with attachments over a certain size. (#B64ENCODE error)
v3.29  - Fixed bug with attachments.  Was inserting @@ into files.
v3.30  - Removed use of double quotes around email address when no "name" is specified.  This
          was causing some problems on servers.  NOTE: If you are using any special characters
          in your email address(es) and are experiencing problems, please contact me.  
          Also, be sure to test this version of MAILTOOL before moving it into production
          if you know you are using special characters any email address.
v3.31  - When sending emails with special characters in the subject or message and 
          including an attachment the special characters would be corrupted.  Removed
          the default encoding from the MIME header which caused this problem.
v3.32  - Fixed rare bug when sending attachements as the body of the message.  Trailing blanks
          from buffers were truncated.
v3.40  - **NOTE**
         Updated registration to use Serial Number and Model number.
         Removed nag message from emails in unregistered version.  Instead, temporary 
          keys will be issued to allow unlimited testing for a period of time.
         -- Current Users --
         Email me a note with your serial number(s) and model number(s) before you
          install this version so I can get you a new key.  
         -- New Users --
         Email me and I will get you a temporary key.  This temporary key will allow you
          to use MAILTOOL with all functionality for a limited period of time.  You
          need a temporary key or a permanent key to use MAILTOOL.
         Updated logging portion of application to use system date instead of the
          job date.
v3.41  - Fixed small bug with temporary registration key checking.
v3.42  - Fixed bug with debug paramater.  On versions prior to V4R5 of the OS
          the REPLACE parameter on the CPY command was not valid.  Change processing
          to first remove the debug file if it exists, then create the debug file.
v4.00  - Added MAILTOOL Plus! option as described below.  MAILTOOL Plus! requires
          a seperate registration only for the functionality described below.  If
          you are still using the IBM SMTP server to send emails with MAILTOOL,
          registration of MAILTOOL Plus! is not required.
         -- MAILTOOL Plus! Update --
         Added option to bypass the standard IBM SMTP server for sending of email.
          The new parameter added for this is SENDWITH.  The default value of 
          *IBMSMTP will act as it normally did using the IBM SMTP server to send
          the email message.  The value of *MAILTOOL will use MAILTOOL's own internal
          communications to send the email.  With this option you do not need to have
          MSF or the SMTP server running at all unless it is your only SMTP server.
          The *MAILTOOL option will look up the MX records for the domain of the 
          "from" address to determine which mail server to connect to in order
          to send emails.
         When using *MAILTOOL for the SENDWITH parameter you have the option to
          specify a mail router that can be used if no MX records are successful
          or if you want to only use a mail router.
         Added new parameter for SMTP Debug File (DEBUGSMTP).  When the DEBUG(*YES)
          option is used the file specified will be created to show the communications
          MAILTOOL has with the SMTP servers found on the MX records of the from 
v4.01  - Added the MAILTOOL Plus! Log (MTPLUSLOG) command that will allow you to see
          and work with a log of emails that were not 100% successful in transmission.
          From this display you can display properties of the emails such as the
          recipients and which recipients received the emails and which did not.
          See the MAILTOOL Plus! documentation for more information on this feature:

v4.02  - (SPMT091004) Changed timout for socket from 20 to 30 seconds.
         Fixed bug when reading continued responses from mail server.
v4.03  - Added CCSID parameter that will be used for conversions between
          EBCDIC and ASCII.  This parm is only valid using SENDWITH(*MAILTOOL).
v4.04  - Updated MIME file name creation so that it will only use value from 
          data area.  In the past if the data area wasn't available a timestamp 
          would be used.
v4.05  - Updated MAILTOOL Plus! so that if EHLO command fails HELO is tried for
          compatibility with older systems.
v4.06  - Fixed bug when resending email with MTPLUSLOG command.
v4.07  - Changed conversion method for addresses before calling QtmmSendMail API to
          use iConv() instead of API.
v4.08  - Added processing for MAILTOOL Plus! to look up MX records for the mail 
          router that is specified (if used).
         Fixed bug when trying to connect to servers after the first failed.
v4.09  - Fixed bug that would cause looping on MX servers if the first one
          couldn't be used to send email.
v4.10  - Added MTPBIND parameter to allow user to bind outgoing communications
          when using MAILTOOL Plus! to a specific internal IP address.
v4.11  - Fixed small bug.  MAILTOOL Plus! wouldn't log errors during the message
          portion of the email.  Updated so these errors would be logged in the
          MTPLUSLOG command.
v4.12  - (SP050531) Added processing to handle double quotes for CCSID 1026.
         (SP050615) Added more error reporting for attachment not found errors
         Fixed small bug when using MAILTOOL Plus! and a out of range error occured.
v4.13  - Added more error checking to MAILTOOL Plus! when socket connections are 
v4.14  - When using MAILTOOL Plus! and socket error occured previously it would
          simply abort.  Now it will continue to try other mail servers if available.
v4.15  - Updated application so "from" email address would appear correctly in outlook
          when a "from name" was used.
v4.17  - Added Timeout parameter for MAILTOOL Plus
v5.00  - Added distribution lists for MAILTOOL Plus.  Use the MLTDSTL command to 
          work with distribution lists.  To use a distribution list, specify the
          distribution list preceded by a * on the To, CC, or BCC address
v5.01  - Added PLAIN and LOGIN authentication capabilties.  If your mail server
          requires plain or login authentication you can use the new parameters
          AUTHUSER and AUTHPW to enter the userid and password values.
v5.02  - Added PRIORITY parameter that allows a user to set a priority of Urgent,
          Normal or Non-Urgent.
v5.03  - (MT060823) Update on MAILTOOL Plus processing for non-US code pages and
            the @ symbol.
         (MT060823) Update on priority processing.  Added X-Priority header to
            emails for systems that use them.
         (MT060823) Fixed bugs when using MAILTOOL Plus! that could possibly close
            obscure TCPIP ports causing malfunctions in other software
         Added option to send text and html versions of an email.  Both versions
          must be created in the IFS first.  Then for the subject specify the
          special value of *MULTI and specify the two files created in the first
          and second attachment parameters.  The first file must be the text version
          and the second version must be the HTML version.
v6.00  - Registration updates
v6.01  - Registration fix.  If you aquired keys for v6.00 of MAILTOOL, please contact 
          us for new keys for this version.
         (SP070103) Fixed MAILTOOL Plus Authentication.  When sending to multiple 
          recipients with different domains the authentication strings
          would get corrupted.
v6.02  - (MT070103) Fixed MAILTOOL Plus Authentication.  When sending to multiple 
          recipients with different domains the authentication strings
          would get corrupted.
         Added ability to use multiple "names" for TO, CC and BCC Addresses.
v6.03  - Added new parm MXLOOKUP.  This parm is used when using MAILTOOL Plus and
          specifies when you are using a mail router if you want to perform an 
          MX Lookup on the mail router itself.  This fields defaults to *YES so
          it performs as before the addition.
         Added more debugging to debug file for MAILTOOL Plus listing all entries
          used to try and send the email.
v6.04  - Added SENDADDR and SENDNAME parameters to allow the use of the Sender: header.
v6.05  - Added ability to specify a user id for the TO, CC or BCC addresses.  If the user
          id specified has an SMTP address set up in a directory entry, that address
          will be substituted for the user id.
v6.06  - Added SSL Support for MAILTOOL Plus.
         Added parameter to specify SMTP port when using MAILTOOL Plus.
         Updated processing for MAILTOOL Plus so when using USERTR(*ONLY) it doesn't also
          try to send directly.
v6.07  - (v6.06 SP) Removed BCC header from MIME text.
         (v6.06 SP) Fixed bug when running on non-US code page with @ (at) symbol
          in email addresses.
         Added FOOTER parameter to allow user to specify the path to a stream
          file in the IFS to be used as a footer text in the email (for example
          a company disclaimer).
v6.08  - Added options to MAILTOOL Plus distribution lists so you can define
          what "type" of address each entry is in a specific distribution list.
          The valid types are as follows:
           *DFT - Default, which uses the address type that the distribution
            list is specified on (ie, TO, CC or BCC)
           *TO  - The address will always be used as a TO address
           *CC  - The address will always be used as a CC address
           *BCC - The address will always be used as a BCC address
v6.10  - (v6.08 SP) Added colon ":" as a valid character in a recipient email address
          for compatibility with fax email servers.  This option will 
          only work with MAILTOOL Plus when using a mail router that
          is acting as a fax server.
         Added ability to use wildcard in the attachment file name.  The
          valid wilcard methods are wildcard*, *wildcard, and wild*card.
v6.20  - (v6.10 SP) Fixed bug when sending to similar domains would send 
          multiple times to some of the recipients.
         Updated logging.  Instead of a single MLTLOGPF log file, there are 
          now 3 log files.  
          MLTLOGPF - Header information for email
          MLTLOGDPF - Recipient detail information
          MLTLOGAPF - Attachment detail information
          Records can be matched between the files by the "from" email address
           as the email id that is included in each file.
v6.21  - (v6.20 SP) Fixed bug when editing email addresses in MAILTOOL distribution
          lists and getting error that says "Address already exists for list"
         Added command MTPRESEND that will automatically cycle through records
          in the MTPLUSLOG display and try to resend them.
         Some emails that were erroring out when using MAILTOOL Plus were not 
          getting added to the MAILTOOL Plus Log display.  Fixed.
         Added Date/Time to MAILTOOL Plus SMTP Debug file.
         Added object MAILTOOLV type *DTAARA which contains the version of the
v6.22  - (v6.21 SP) Bug when sending mail with MAILTOOL Plus and get past RCPT command
          but failed after would not log an error.
         (v6.21 SP) Updated MAILTOOL Plus Error log so F12 worked the same as
         (v6.21 SP) Fixed bug in mailtoolsmtp.txt file where the last line of the email
          was being concatonated with the next debug description line.
         (v6.21 SP) Added email address to completion message (ie sent to xxxx@xxxxx.xx)
         (v6.21 SP) Changed AUTHPW parm to not show in job log.
         Added NOATTACT (No Attachment Action) parameter that will allow you to specify
          what happens when a wildcard attachment is specified and no files are found.
          The default value of *NONE will act as it did before and send the email, but 
          you also have the option of creating a file named /bvstools/mailtool/noattdft.txt
          that can be used as a default attachment.  This file can contain anything you
          like such as a message saying "no attachments found."
          The value *ERR will tell MAILTOOL to stop and send an error instead of 
          sending the email.
v6.23 -  (v6.22 SP) Updated option 5 (display) from MTPLUSLOG command to use 
          DSPF instead of copying to file in QTEMP and DSPPFM.  The
          DSPF command wasn't available before but now that the min
          release is V5R2 it shouldn't be an issue.
         (v6.22 SP) Fixed bug when specifying *ATT for message along with another
          attachment it would attach the wrong file.
         (v6.22 SP) Fixed bug with wildcard attachments in QDLS file system not 
         Added new parameters MSGID (Message ID) and MSGIDDOM (Message ID Domain).
          These are used to add message IDs to your emails.  The default is that 
          MAILTOOL will function as it did before, with no message ID.
v6.24 -  Added TLS support for MAILTOOL Plus.  To use TLS instead of SSL, simply
          specify *TLS for the Use SSL parameter.
         SP110811 - Fixed bug when sending emails with invalid attachments it
          a file descriptor was being left open and after a few
          attempts other applications would have errors opening new
          stream files.
         SP111015 - Fixed bug when using Wildcard with QNTC file system.  It
          wasn't picking up any files.
         SP111027 - Fixed bug when MAILTOOL Plus key was invalid the
          MTPLUSLOG file didn't work right to resend email.
         SP120410 - Fixed issue when using Yahoo Mail.  The Base64 conversion
            routing being used was rejected by Yahoo (but not for other
            email clients such as Gmail).
         SP120410b - Same as above, small bug fix
         SP120606 - Found issue when emailing using a distribution list that was
            empty no way to add a recipient.  Added the ability to do this
            using MTPLUSLOG.  Also found bug if emailing an attachment
            the attachment would be corrupt, fixed as well.
         SP121003 - Updated MAILTOOL Plus to give a 10 minute timeout value after
            the DATA portion of the email via RFC 5321
         SP121112b - When *USER is specified as the FROM address and no directory
           entry was found the email was still trying to send.  Added
           more error checking for this case.
          Changed method of looking up directory entry name to use
           system tables.
v7.00  - Added ILE Subprocedures to use to send emails more easily in programs.  See the MAILTOOL documentation
              at for more information.
         Fixed a few bugs.
         Changed default debug files so that they use a unique ID number so their are not overwritten each time
           the program is run.  If you have your defaults set to DEBUG(*YES) you can override this by using 
           debug file names that do not include the /%id%/ replacement value.
  If the program errors out, a debug file will be created no matter if debug is turned on or not.  This makes
           things easier to debug as recreating the issue isn't always possible.
         Using configuration files for defaults for ILE subprocedures.  See documentation at 
           for more information.
         SP140212 - Fixed bug when sending large attachments and they were corrupted.
            Fixed bug when using wildcard attachments. 
         SP140212b - Fixed bug when using reply to address and it would not clear them
            before sending the next email.
         SP140219 - Fixed bug with timeout value when using ILE functions.
         SP140220 - Added "Close Connection" variable to debug dump.
          Removed MIME data from the SMTP trace debug file.  Replaced with one
           message stating the size of the MIME file.  MIME data is already in 
           it's own file and this will keep the size of the trace files down.
         SP140220b - Fixed bug when sending multiple attachments and the names of the 
            2nd attachment and on were corrupted.
         SP140326 - Fixed bug when mail server was capable of using authentication and
            username was left blank it still tried to use authentication.
         SP140401 - Removed the message saying which configuration file was being used
            when debug was turned off.
         SP140410 - Fixed bug when specifying a distribution list.  Would say either
             there were no recipients or that distribution lists were not 
             valid when not using MAILTOOL Plus (and you were using Plus).
v7.10  - Added Configuration and Save parameters to the MAILTOOL command.  See docs for more 
          info on these new parameters.
         Added the MTPSAVE data area which is a default value for saving emails send using
          MAILTOOL Plus.  See documentation for more information.
         Updated the MTPLUSLOG command so that not only will it show emails that errored, but
          also emails that were sent with the save option (MAILTOOL Plus only).
         Updated the MTPRESEND command with the option to send only errored emails, all emails,
          and also the ability to specify a configuration file to use when sending the emails.
         Added the ability to specify a pre-created MIME file to use when sending the email.  When
          using this information you also will need to make sure you are specifying the recipient
          (ie TO, CC, BCC) addresses.  This applies to MAILTOOL Plus only.
         SP140708 - Updated MTPRESEND to show the number of emails that will be sent if process
            is completed.
           Updated MTPLUSLOG display to show subject and allow viewing of config file
            that is attached to the email.
         SP140714 - Fixed bug when using *ATT as the body any other attachments would be corrupted.
         SP140721 - Fixed bug when job CCSID was non US.  Wasn't recognizing email addresses 
             because the @ sign wasn't being converted.
         SP140722 - Fixed issue with multiple SMTP files.  Made sure it was using the file in 
           Fixed issue when using a configuration file and an a distribution list entry.
            It would say you can't use them without MAILTOOL Plus because it hadn't yet
            loaded that information from the config file.
         SP140722b- MAILTOOL command was sending completion type error messages instead of escape
            as in previous versions.  Updated so it worked the same as the prior version.
           Updated #mailtool_addAttachment() to return an error message if one exists.  This
            updated the /copy member P.MAILTOOL as well.
           Updated maximum number of attachments to 100 from 50.
         SP140724 - Updated JSON Parsing routine to not ignore data like CR and LF that are in 
            quotes of the data (for newlines in message field in config file).
         SP140728 - Fixed issue with MAILTOOL Plus not recognizing that the server was using
            authentication because the information was sent in separate pieces for each
            option the server allowed.
         SP140804 - Updated the MTPLUSLOG command to allow start date and time to subset the list
            of items.
         SP140805 - Fixed issue when using distribution list and MAILTOOL Plus the MIME header wasn't
            being built correctly in all cases.  Also, the debug file wasn't being removed.
         SP140918 - Fixed bug with CCSIDs and JSON parsing.
         SP140922 - Added return parameter to #mailtool_sendMail that returns the unique email ID.
           Updated #mailtool_sendMail so that it returns the number of recipients the email
            was delivered to when using MAILTOOL Plus instead of zero.  When using
            IBM SMTP this will still return zero when there are no errors.  For both cases
            -1 will be returned when there is an error.
         SP140924 - Fixed issue when sending email and it errored JSON config file that is created
            was the wrong code page/corrupt.
         SP140926 - Fixed bug when message started with an asterisk (*) and it wasn't a special value
            like *ATT it would convert the message to upper case.
         SP141117 - Updated #mailtool_sendMail so that it will always return a unique message ID, even
            when there is an error.
         SP141118 - Fixed bug with the FROM, TO and CC Names getting corrupted in certain instances.
         SP141118b - Temporary directory setting wasn't being used for _debug_ file.  Fixed.
         SP150107 - Fixed bug when sending a blank email address on the command it would try to look up
            a distrubution list entry.  Fixed
         SP150209 - Fixed bug when specifying an extra attachment without a leading / process would                             error.
         SP150210 - Fixed issue when sending with *MAILTOOL and no mail router the TO addresses weren't
            being processed.
v8.00  - Updated to allow the use of OAuth 2.0 for authentication for GMail Accounts.  This will also require
            that G4G and GETURI are also installed and that the *GMAILSMTP server is registered in G4G for
            each user that is using this feature.  GETURI and G4G will also need to be in the library list.
            To specify the use of OAuth 2.0 for authentication use the value *G4G_XOAUTH2 for the SMTP
            Auth User ID paramter and leave the SMTP Auth Password blank.
         SP150226 - Updated application so the special value for the SMTP Auth User of
            *G4MSXOAUTH2 will allow OAuth 2.0 Authentication to be used for
            Microsoft Cloud accounts (such as  This option requires
            G4MS v1.20 or higher and GETURI v4.09 or higher
v8.10  - Updated to use latest version of JSONTOOL JSON Parser for Configuration Files (v3.0).
         Updated configuration file processing when using the MAILTOOL command so that if a 
          configuration file is used any value in the configuration will override the values on 
          the command (if they aren't blank and the values exist in the configuration file).
         Updated the configuration processing so if *DFT is used for the configuration file and not
          a unique name, it will first try to use /bvstools/mailtool/config/<userid>/defaults.json.  If
          that file isn't found it will attempt to use /bvstools/mailtool/config/defaults.json.  Previously
          if a unique name was specified and that file wasn't found it would try using the defaults next.  Now
          if a unique file isn't found it will error out and stop.
         Added data area MLT002DA which will hold the SSL Protocol Version to use.
         Added MLTUPDATE command to make updating from a previous version easier.
         *** Added a procedure named #mailtool_loadDefaults() that can be used when using the ILE subprocedures
          to load defaults from the configuration file set using the configuration_file keyword and 
          #mailtool_setValue().  This is different in that before the #mailtool_init() subprocedure would
          load the defaults.  Now YOU WILL NEED TO UPDATE your PROGRAMS to use the 
          #mailtool_loadDefaults() subprocedure.
         Old Method:
         rc = #mailtool_setValue('configuration_file':             
         if (#mailtool_init() >= 0);                                
           rc = #mailtool_addTORecipient('');  
           rc = #mailtool_setValue('subject':Subject);             
           rc = #mailtool_setValue('message':Message);             
           rc = #mailtool_sendMail(errMsg);                        
         New Method:
         if (#mailtool_init() >= 0);                                
           rc = #mailtool_setValue('configuration_file':             
           rc = #mailtool_loadDefaults();
           rc = #mailtool_addTORecipient('');  
           rc = #mailtool_setValue('subject':Subject);             
           rc = #mailtool_setValue('message':Message);             
           rc = #mailtool_sendMail(errMsg);                        
         See for more details on the
          updates included with this version.
v8.20  - Added #mailtool_setMsgPtr() procedure.  This procedure allows you to set the message
          of the email by specifying a pointer to the message and the length of the message.
          see for an example.            
         SP150709 - Fixed bug when using MAILTOOL Plus and no mail router.  If there
          were multiple recipient domains the 1st would work find but the 
          subsequent would not be delivered properly.          
v9.00  - Added licensing by date (SaaS) option.    
         SP151028 - Added option for MAILTOOL Plus to override the host name that is
          sent in the EHLO/HELO conversation.  By default the system host
          and domain is used from CFGTCP option 12.  If you wish to override
          this use the following command:
          Replace <newhost> with the hostname you wish to use.      
         SP151113 -Included YAJL objects.
          Fixed bug when configuration file specified doesn't exist.  Now it
           throws an error.
          Updated log so when SSL handshake error happens the return code is
           in the log file.      
v9.10  - Added #mailtool_clearRecipients() subprocedure.  This allows you to clear all,
          TO, CC or BCC recpipients so you can reload them and resend the email.  
v10.00b- Added options to Base64 encode the subject and/or the body of the message. 
          This option was added to handle non-ASCII characters in the subject or
          message body.
          When using these options you'll need to make sure that the CCSID and Code
          Pages used are UTF-8 (1208).  Any attachment, footer or external files must
          have a code page of 1208 in order to work properly.
          The parameters are B64SUBJ and B64MSG.
          The configuration names are base64_encode_subject and base_64_encode_message.
         Updated JSON parsing to use YAJL port.
         Fixed wildcard attachment logging.
         When using *ATT for the message body and a wildcard attachment in the first
          attachment parameter the results may be unpredictable as to which file it
          will use for the body.  It's best to supply a fully qualified name on the
          first parameter and any wildcards following.    
         Chaged CCSID and Code Page defaults from 819 to 1208.        
         SP160216 - Updated Base64 Encoding to use apr_base64_encode API   
         SP160217 - Fixed error when sending with *IBMSMTP when TO and FROM
          were different lengths. 
         SP160218 - Fixed bug when adding attachments and specifying a 
             name for the attached.  Was not using the name.
         SP160219 - Fixed bug when sending attachments the first attachment
            name would be *ATT instead of the file name if an 
            actual filename wasn't provided.
         SP160331 - Added subsetting by Sender Domain in MTPLUSLOG command.
         SP160404 - Fixed issue with non US code pages where the email would be 
            corrupt in some cases using special characters.
         SP160408 - Fixed issue when using Distribution Lists when a CC was before 
             TO in the file.  Caused a display issue with the headers.
         SP160411 - Fixed issue when using wildcard attachements and the default
            no attachment file (noattdft.txt) didn't exit.  An extra
            boundary marker would be put in the email causing some
            clients to show an extra attachment (sometimes named
            att00001.txt or something similar).
         SP160507 - Fixed bug when using OAUTH 2.0 and service.
         SP160509 - Fixed issue when using OAUTH 2.0 and CCSID 1208.
v10.10 - Added Send With (SENDWITH) option to specify *G4MSMAIL in order to send 
          the email using the Microsoft Office 365 Mail API using OAuth 2.0.
          This option requires that the G4MS software (
          is installed an the G4MSMAIL addon is licensed.
          Note: Not all MAILTOOL parameters will affect the email when sending mail
          using the *G4MSMAIL option.  If there is a parameter not working that
          you wish to use, contact us and we will see if it's possible to add.  
v10.20 - Added logging to MLTLOGPF, MLTLOGDPF and MLTLOGAPF when using the
          SENDWITH(*G4MSMAIL) option.
         Fixed bug when using SENDWITH(*G4MSMAIL) and MESSAGE(*ATT).  If the first
          attachment was blank, but the 2nd wasn't (which was intended to be
          the body) it would throw an error.  Now it will use the first non-blank
          attachment as the body.
         Changed use of YAJLR4 service program to use bindy by copy instead.
         Added Send With Type to MLTLOGPF file to see which method an email was
          sent with.
         Created command MTMRESEND command which is similar to the MTPRESEND command.
          This command allows you to enter a Microsoft ID or the value *ALL in order
          to resend emails in error that were sent with SENDWITH(*G4MSMAIL).
         Created MTG4MSLOG command in order to view and optionally delete or resend
          individual emails that were in error and sent with SENDWITH(*G4MSMAIL).
         Changed requirement of G4MS from v3.00 to v3.10.
         SP160615 - Updated F.MAILTOOL service program to use YAJLR4 as a module
           (bind by copy) instead of service program
         SP160616 - Fixed bug when sending with G4MSMAIL and specifying *ATT for
            the message.  The email was using the 2nd attachment instead
            of the first for the body.
v10.30 - Updated applciation so SENDWITH(*IBMSMTP) will use distribution lists
          in MAILTOOL (MLTDSTL) just like when using MAILTOOL Plus.
v10.40 - Updated to work with G4G v10.20.
v10.41 - Updated to work with G4MS v4.10.
         SP161026b - Updated so that MAILTOOL can be run in "test" mode.  When in 
          "test" mode no emails will be sent.
          To go into test mode create a data area named MLTMODEDA with a
          length of 10 and a value of *TEST.  This data area does not 
          need to reside in the MAILTOOL library.
v10.50 - Updated with the option to turn strict SSL off.  The data area
          named MLTSSL01DA contains the value *YES or *NO depending if 
          you want to ignore most SSL Handshake errors or not.
         SP170112 - Updated so when sending with G4MSMAIL it will process any
          distribution lists specified in any of the recipient
v10.60 - Updated MLTUPDATE so it will use the new library name instead of MAILTOOL
          (in case the library is NOT MAILTOOL).
         Updated option when sending with *G4MSMAIL option that you can now use a
          G4MSMAIL configuration file.  Any settings in the configuration file will
          override any of the paramter values.
         Updated MTPRESEND command.  Added a PROMPT(*YES|*NO) parameter so you can
          bypass the prompt when resending emails. Default is *YES so that it acts
          like it normally did.
         SP170427 - Bug when binding to local IP address.  Fixed.
         SP170428 - Incresed max size of authorization user and password fields
            from 64 to 256 bytes.   
         SP170520b - Added option on MTPLUSLOG command to display email messages
            with errors only. 
         SP170602 - When an email would be sent with MAILRTR(*NONE) and there were
             no MX records to be found for the recipient the FROM address
             in the MTPLOGHPF file would be blank.  Fixed.
10.80  - Updated to latest YAJL objects.
         Renamed YAJL type *SRVPGM to YAJLBVS so it won't interfere with any other 
          versions of YAJL that may be installed.
         Changed default value of MLTSSL01DA from *YES to *NO so that strict SSL is
          off by default.
v10.81 - Updated to work with G4G v11.00 and higher.
v10.82 - Added Return email and name so the Return-Path can be set for each email.
v10.85 - Added Bad Address Action (BADADDACT) paramter on the MAILTOOL command as well
          as bad_address_action settable variable to the ILE functions.
          The value of *DFT for these will use the value in the MLTBADAA data
          area (which defaults to *WARN).
          The value of *WARN will issue a warning about a bad email address
          or invalid or empty distribution list.
          The value of *FAIL will issue an error and stop processing if an 
          invalid email address or invalid or empty distribution list is 
          SP180831 - Added option to use *USER for the From Address when specifying
            *G4MSMAIL as the send with server type and using Office 365
            to send the email
          SP181106 - Changed MLTDSTL to allow mixed case for distribution list name
            since distribution lists are case sensitive.
           Added F12 to Entry List Maintenance screen.
           Updated MLTDSTL so when you're working with an entry and finish
            you will be positioned to the last entry worked with.
           Updated MLTDSTL so when you add a new entry the cursor will be 
            placed on the record just added.
v10.90 - Updated MTPLUSLOG and MTPRESEND commands so if an invalid configuration file
          is entered processing would stop and not remove the entries in the log.
         Added command MTPREBUILD which can be used to rebuild the MAILTOOL error
          log in the case that there is an issue with resending and new entries
          aren't placed in the log file.  This will only work if the MIME files in 
          the IFS still exist in the /tmp directory with the basic naming format.
          Before using this option, please feel free to contact use with questions.
v11.00 - Added the ability to use the IBM Global Security Kit (GSKIT) for SSL/TLS
          communications.  By default MAILTOOL will use the Standard IBM SSL APIs.
          If you update data area MLTSSL02DA to the value of *GSKIT, the GSKIT will
          be used for SSL communications.
         SP190620 - Added configuration file to debug data when using MAILTOOL
v11.10 - Added option to use SENDWITH(*G4GSMAIL) to send email using the GMail RESTful
          APIs.  This requires licensing for G4G, G4GSMAIL and GETURI.
         SP191124 - Updated MTG4MSLOG processing program to find the message and
           subject since the labels in the JSON changed when moving to
           the new MS Graph APIs.
         SP200428 - Updated MTG4MSLOG program so that if for some reason YAJL 
           returns an error message with an invalid character we 
           convert it to blank.
v11.20 - Changed service program usage to *DEFER for better performance.
         Updated application so that you can specify the following in a routers
          file to specify to use G4GSMAIL as an option to send emails if a 
          previous method fails:
                "mail_router": "*G4GSMAIL",
                "sequence": nn
         Added more debugging to smtp trace file that is created.