MMAIL CHANGE LOG August 18, 2010 - V5R2 Improved the e-mail message examples that anyone may send to himself (program TSENDASAMP), by lowering to a minimum their SPAM levels. August 15, 2010 - V5R2 - Two new commands, ALWMDTBC and WRKMDTBC, can be used to send automated blank copies of whatever outgoing message to a number of "blind" receivers, thus building a manageable message log. See page http://www.easy400.net/mmail/html/othutils.htm#10a . August 14, 2010 - V5R2 - Subprocedure CHKIFS now optionally returning also the CCSID of a stream file. July 28, 2010 - V5R2 - Command EMLMSG now uses a rcdlen(240) source physical file. - In subprocedure MimeImbTxtF, now both the text and the alternate HTML are imbedded as quoted-printable. July 27, 2010 - V5R2 - Improved the encoding to quoted-printable subprocedure, in order to stay within 76 chars per line, thus lowering the message SPAM level. - In subprocedure MimeImbHTML, now both the HTML and the alternate text are imbedded as quoted-printable. - Fixed problem in compiling module WARNLSTRLS. - Improved subprocedure MimeImbHtml; added documentation to MMAIL manual. July 2, 2010 - V5R2 - Fixed a bug in AMailer. Module YYYPOP3RCV was converting the logon username and password to CCSID 500, which is not needed and causes problems when special characters are used. June 17, 2010 - V5R2 - The installation of the HTTP instance to run AMailer was made easier. June 10, 2010 - V5R2 - Fixed a bug in AMailer. Detached attachments and the containing IFS directory should be granted for *RX to user profile QTMHHTTP. Fix added to module YYYDETACH of srvpgm MMAIL/SOCKETMAIL. June 2, 2010 - V5R2 - Internal subprocedure CvtTxtHtml in module XXXMIME was having problems when the size of the text stream file to be converted to HTML was larger than 16 Mb. - Also internal subprocedure CvtHtmlTxt was updated in order to allocate the minimum memory required. May 19, 2010 - V5R2 - According to John Bridges, module YYYSOCKET of srvpgm MMAIL/SOCKETMAIL, also when issuing commands UIDL and LIST should specify the next parameter after no more than 2 blanks when the internal POP3 server is running MDaemon. May 14, 2010 - V5R2 - According to John Bridges, module YYYSOCKET of srvpgm MMAIL/SOCKETMAIL, when issuing RETR command, should specify the message number to be retrieved after no more than 2 blanks when the internal POP3 server is running MDaemon. April 16, 2010 - V5R2 - Small change in subprocedure CrtWrkF (module xxxMIME) April 14, 2010 - V5R2 - Updated the INSTALL pgm to grant all authorities to *public for /mmail and /mmail/temp . April 13, 2010 - V5R2 - Some installers claimed MMAIL no longer able to send e-mails with its latest release. I believe that TCP server SMTP was stopped and not restarted during MMAIL installation. This is why I have now added a STRTCPSVR *SMTP command about at the end of pgm MMAIL/INSTALL. April 8, 2010 - V5R2 - Fixed bug in subprocedure "MimeImbSpl" (Imbed/Attach a Spool File). If a given spool file was created more than once in a job, attaching/imbedding it as *LAST did no longer work. March 24, 2010 - V5R2 -Commands STREMLSPLF and STREMLSPL2 now support also value "C" for parameter SBJTYPE (Subject type). Value "C" allows to retrieve the subject of the e-mail message from file MMAILDATA/EMLSPLFSBJ. This file must be populated by the installer. See page http://www.easy400.net/mmailh/othutils.htm#07 . March 22, 2010 - V5R2 -Fixed subprocedure MimeImbAtt. It was adding twice parameter "charset=..." when imbedding a text/plain or a text/html. March 19, 2010 - V5R2 -Fixed pgm EMLSPLF2 (command STREMLSPL2)- It was not providing a given stream file as common body, though requested to do so. March 14, 2010 - V5R2 -Command EMLSPL2 has been changed to support individual names for each of the attached spool files, regardless whether they are converted to PDF or not. See page http://www.easy400.net/mmailh/othutils.htm#03b . WARNING - User programs issuing command MMAIL/EMLSPL2 need to be updated, as the format of the command has been changed. -Command SETEMDELAY (Delay between 2 outgoing mails) now supports milliseconds instead of seconds. February 27, 2010 - V5R2 -Added validity check programs to commands STREMLSPLF and STREMLSPL2. February 26, 2010 - V5R2 -Commands STREMLSPLF and STREMLSPL2 used to send a separate e-mail message for each pair group-name/distribution-type of parameter SPLFSND. Each message was distributing the message to a single group distribution list. As a consequence, people in one group could not know that the same message was distributed to people of another group. This has been changed. A single distribution list is built by merging the appropriate group distribution lists, and a single message is e-mailed for a given spool file. February 24, 2010 - V5R2 -Command EMLHTML now uses subprocedure "MimeImbHtml". -Added subprocedure "MimeImbHtml": it imbeds an HTML stream file as two alternatives, text/plain and text/html. The HTML script is encoded as quoted-printable. Updated program EMLHTML. -Added subprocedure "CvtQpr": it converts a stream file to a quoted-printable stream file. -A blank subject in an e-mail message is now replaced by a default text. Such a defaul text is defined through comand MMAIL/NOSUBJECT. This is done to avoid increasing the SPAM score of e-mail messages with no subject. February 20, 2010 - V5R2 -Commands EMLHEADER and EMLFOOTER replaced by command EMLDFTBODY (Define the default message body for EML... commands). A default message body is needed to avoid empty bodies in e-mail messages. An empty body raises the SPAM level of a message up to a dangerous level. February 19, 2010 - V5R2 -Added command EMLSPL2. It is similar to command EMLSPL, but it supports different names for the attached PDF's. February 18, 2010 - V5R2 -In processing command EMLSPL, attachments are prefixed with a sequence number. Example: 1_mypdf.pdf, 2-mypdf.pdf, etc. -Fixed a spool file characters conversion error in subprocedure MimeImbSpl. That was due to files MMAIL/SPOOLS and MMAIL/SPOOLSSRC fields having CCSID 37, instead of the local value. February 3, 2010 - V5R2 -Fixed an unbalanced parenthesis in an override command in module XXXMIME. February 2, 2010 - V5R2 -Updated subprocedure ""MimeImbAtt" (MMAIL/QRPGLESRC mbr XXXMIME): if an attachment with "content-type: text/plain", now parameter "charset=..." is added. January 26, 2010 - V5R2 -Program EMLSTMF and EMLSTMF2, if requested to attach a non ASCII file (CCSID 819 or 1252) will no longer stop (see January 9, 2010), but just send a warning message. January 9, 2010 - V5R2 -Module XXXBASE64E (Encode to BASE64) of service program SENDMAIL now provides a warning message if the file to be encoded in not an ASCII file (CCSID 819 or 1252). -Program EMLSTMF and EMLSTMF2, if requested to attach a non ASCII file (CCSID 819 or 1252) will now stop by sending an escape error message. December 28, 2009 - V5R2 -Fixed a bug in command STREMLSPL2. It was not transmitting correctly the last three parameters to the submitted job. December 4, 2009 - V5R2 -If V6R1 or subsequent, parameter AUT(*INDIR) added to comand CPYTOSTMF -- in CLLE program CVTSPLSTMF and RPGLE program EMLSAVF -- in subprocedures MimeImbSpl and MimeImbSrc, source member XXXMIME in MMAIL/QRPGLESRC. November 15, 2009 - V5R2 -Fixed bug in comand PRCUSRMAIL, MMAIL/QRPGLESRC member YYYSOCKET, subprocedure "pop3rtvmsg", subroutine "MsgToIfs". An IFS handle was opened but not closed. That was resulting in no more handles available after receiving a large number of mail messages in the same job. November 4, 2009 - V5R2 -Fixed a bug in EMLSTMF/EMLSTMF2. They were getting the wrong length for the sender's address and reporting "bad email address". October 28, 2009 - V5R2 -The installer can now use command MMAIL/CHARSET to select from a list the default character sets. October 16, 2009 - V5R2 -New command STREMLSPL2 (similar to STREMLSPLF) allows to have a common body for all messages and allows more granular distribution type. See page http://www.easy400.net/mmailh/othutils.htm#07a . October 14, 2009 - V5R2 -Command STREMLSPLF through submitted program EMLSPLF used to deliver messages to a "bcc" distribution list. A customer raised a requirement to optionally ask for a different distribution type ("to" or "cc"). That was implemented by adding parameter DSTTYPE to command STREMLSPLF, see page http://www.easy400.net/mmailh/othutils.htm#07 . September 30, 2009 - V5R2 -Jonas temple has provided a new release of his Windows utility MimeMail (see page http://www.easy400.net/mmailh/wmimemenu.htm ) In this version, e-mail address data are stored in files of local library MMAILDATA (instead of lbrary MMAIL, as it was before). This makes the Windows utility compatible with data entered via green screen command MMAIL/MIMEMENU. September 20, 2009 - V5R2 -It was found that the technique used by subprocedure Pop3RtvMsg (YYYSOCKET) to detach attachments by submitting a request to a detacher program in a parallel batch job, while is good when e-mail messages are retrieved by AMailer from a HTTP server job, it is not good when e-mail messages are retrieved from another type of job, because in this latter case a synchronous attachments detach is mandatory. As an example, this was causing problems to applications using the PRCUSRMAIL command. In fact some attacments could be detached after that PRCUSRMAIL has ended. As a consequence, the parallel detach technique was limited to the case of e-mail messages received from an HTTP job. August 23, 2009 - V5R2 - On customer request, added command EMLSTMF2, able to send messages to 256-char e-mail addresses August 10, 2009 - V5R2 - Fixed module XXXVLDEMAI that was incorrectly running the test for characters '..' etc. June 30, 2009 - V5R2 - Released STRMONIFS utility for automated emailing of PDFs. See page http://www.easy400.net/mmailh/othutils.htm#strmonifs June 22, 2009 - V5R2 - Added support for V6R1 i5 OS AFP TO PDF TRANSFORM. See page http://www.easy400.net/mmailh/othutils.htm#10 June 18, 2009 - V5R2 - Fixed problem in command EMLMSG when source file record length greater than 240. June 12, 2009 - V5R2 - Commands ZIP and UNZIP were added. June 8, 2009 - V5R2 - Service program EASY400/GPSRVPGM (an educated duplicate of CGIDEV2/CGISRVPGM2 srvpgm) still had a non-zero signature. Its signature was changed to zero, in order to avoid conflicts with zero-signature service program CGISRVPGM2. May 27, 2009 - V5R2 - Command "EMLSPLFPDF"- Fixed parameter SPLNBR to *dec 6 (it had been left to *dec 4 by mistake, after changes dated 2009/05/04). May 13, 2009 - V5R2 - Subprocedure "MimeImbDbf" - Added optional parameter "Trim trailing blanks (*YES/*NO)". - Command SENDMIME - Supports the new optional parameter for subprocedure "MimeImbDbf". May 12, 2009 - V5R2 - MMAIL and AMailer- "Codepage" replaced by "ccsid". - Subprocedure "MimeImbDbf" - More performance and now supporting record length up to 32760. May 5, 2009 - V5R2 - AMailer. Incoming messages with .zip attachments. If QSHELL UNZIP command installed (see http://www.eay400.net/zip/html/page1.htm), .zip attachments are now automatically unzipped and inflated files become additional attachments. - Command CVTSPLFPDF- Parameter SPLNBR was TYPE(*DEC) LEN(4) and is now TYPE(*DEC) LEN(6). This required changes to some objects in library HPT. A new version of library HPT was saved in save file MMAIL/HPT (V5R1M0). May 4, 2009 - V5R2 - Command CVTSPLSTMF- Parameter SPLNBR was TYPE(*DEC) LEN(4) and is now TYPE(*DEC) LEN(6). April 9, 2009 - V5R2 - Several small fixes to AMailer. April 4, 2009 - V5R2 - Added documentation page on AMailer commands. April 3, 2009 - V5R2 - Added command SETMGETTER. It allows to enable/disable the automated mail receiving job submitted to batch by AMailer when an user tries to receive mail through the webmail. - Provided further documentation about local users willing to send/receive mail from/to their PC mailers. April 2, 2009 - V5R2 - Added command AMNEWLUSR. It allows to define a new local user for the webmail AMailer without using the MAILUSERS CGI program of AMailer. April 1, 2009 - V5R2 - Service programs SENDMAIL and SOCKETMAIL now have a zero signature (no level check). March 31, 2009 - V5R2 - Fixed error in pgm EMLSTMF. It was corrupting character-set. The error was in calling subprocedure MimeImbTxtF. - The same error was fixed in programs EMLSAVF, EMLSPLX, EMLSRCM. March 30, 2009 - V5R2 - Fixed error in pgm EMLSAVF. It was corrupting the first destination address. March 19, 2009 - V5R2 - Fixed error in pgm EMLSTMF. It was incorrectly trying to attach the footer twice. February 24, 2009 - V5R2 - Fixed error in pgm EMLSPL. It was badly handling parameter PREFORM(Y). February 19, 2009 - V5R2 - Taking advantage of the latest CGIDEV2 version. January 28, 2009 - V5R2 - Fixed CGI program DSPQZMFDTA. QZMF journal entries may contain HTML tags, that must be no-operated, otherwise would interfere with the HTML script of the program and corrupt HTML script tables. January 20, 2009 - V5R2 - Folded on two lines the MULTIPART/MIXED ... boundary declaration, in order not to exceed 75 char per line. This lowered the SPAM level of a message by 2.5 points. Module XXXMIME was replaced in srvpgm SENDMAIL. January 2, 2009 - V5R2 - Some customers trying to install MMAIL on a V5R2 box did not succeed. The reason was that service program MMAIL/CGISRVPGM2 (though compiled for V5R2 on a V5R3 box) was bound to service program QSYS/QWCTZUTC which does not exist on V5R2. To solve the case, service program CGISRVPGM2 had to be recreated for V5R2 omitting module XXXTIME. December 18, 2008 - V5R2 - It was found that in V6R1 API QUSCRTUS (create user space) the maximum initial size (unless otherwise specified within optinal parameter group 3) is 16,773,120 instead of 16,776,704 byte. Because of this, module MMAIL/MNGSPLF1 was bumping out and had to be fixed. December 11, 2008 - V5R2 - Fixed a bug in CVTSPLFPDF: it was generating a PDF with a code page other than 819. December 6, 2008 - V5R2 - Fixed a bug in module YYYDETACH (variable length field had a length higher than its maximum field length). Fix procedure: - Substitute member YYYDETACH in MMAIL/QRPGLESRC with source at page http://www.easy400.net/easy400sources/mmail/qrpglesrc/yyydetach.txt - ADDLIBLE MMAIL - CRTRPGMOD MODULE(MMAIL/YYYDETACH) SRCFILE(MMAIL/QRPGLESRC) DBGVIEW(*SOURCE) - UPDSRVPGM SRVPGM(MMAIL/SOCKETMAIL) MODULE(MMAIL/YYYDETACH) November 24, 2008 - V5R2 - Updated CVTSPLSTMF to support also job CCSID 65535 November 4, 2008 - V5R2 - Updated SENDMAIL srvpgm module XXXHYPER to support hyperlinks also for https://... October 31, 2008 - V5R2 - Page http://www.easy400.net/mmailh/samplecode is now providing coding examples. Source files MMAIL/SAMPLEDDS, SAMPLECMD, SAMPLERPG provided. New pgm DSPSRC1. October 29, 2008 - V5R2 - In MMAIL/QCMDSRC mbr EMLSTMF parameter PREFORM was forgotten. October 19, 2008 - V5R2 - In service program MMAIL/SOCKETMAIL, module YYYQPRDEC, subprocedure "qpr_decode" was providing the wrong translation to ASCII for special EBCDIC characters like @. Found out that the problem was in the QDCXLATE API with conversion table QASCII, because it requires the input to be in CCSID 37. Provided adequate fix. October 14, 2008 - V5R2 - Program EMLSTMF now mantains a log of processed spool files (log file MMAILDATA/EMLSPLFLOG). October 7, 2008 - V5R2 - Subprocedure "mimeImbTxtF" was added a new parameter that allows the message body to be presented as preformatted text. This is for provide adequate presentation when a text containd tex-tables or similar things. Commands EMLMSG, EMLSAVF, EMLSRCM, EMLSPL and EMLSPLX were also added a similar parameter. - API iconv() requires V5R2 - Added module CRTMMLIB2 to pgm CRTMMLIB (Clone an MMAIL library). - Fixed small bug on RESEND pgm. September 8, 2008 - Added subprocedure "AddHyper" and command ADDHYPERL. They allow to generate hyperlinks in an HTML stream file for URLs (http://...) and e-mail addresses. August 30, 2008 - Command MMAIL/CVTSPLFPDF has been added parameters regarding PDF conversion, such as paper size, orientation and margin. - When implicitly used via commands EML..., such CVTSPLFPDF parameters cannot be specified. However, the new command SETSPLFPDF allows to define and save such parameters for any subsequent CVTSPLFPDF command used in the same job. - This is also true for command CVTSPLSTMF: when implicitly used via commands EML..., PDF conversion parameters cannot be specified. However, the new command SETSPLSTMF allows to define and save such parameters for any subsequent CVTSPLSTMF command used in the same job. August 24, 2008 - Re-Fixed the bug in the quoted-printable decode subprocedures "qpr_decode" (QRPGLESRC member YYYQPRDEC). Also changed the API used for conversion from EBCDIC to ASCII; it was painfully slow. August 21, 2008 - Fixed a bug in the quoted-printable decode subprocedures "qpr_decode" and "qpr_decode2" (QRPGLESRC member YYYQPRDEC). They were decoding also the first byte following the source string. - Command EMLMSG is now supporting a null message body. In such a case, the message will contain just the subject. -Content-type: multipart/alternative now supported for the message body. That allows the message body to be available both as text/plain and as text/html. The choice is then up to the preferences specified for the receiving mailer. See subprocedure MimeImbTxtF in page http://www.easy400.net/mmailh/srvpgm.htm#P066 . About all the EML... commands are now using this technique. -Changed USER parameter in command MNGSPLF. It was defaulting to *ALL, now it defaults to *CURRENT . April 8, 2008 -Command STREMLSPLF now supports two different ways of generating the subject of the e-mail message. Sources of MMAIL/QRPGLESRC involved: STREMLSPLF, ENLSPLF. Source of MMAIL/QCMDSRC involved: STREMLSPLF. Source of MMAIL/QPNLSRC involved: STREMLSPLF. April 2, 2008 -Program PRCUSRMAIL (Process User Mail) was not behaving properly when the message body were null. Sources of MMAIL/QRPGLESRC involved: PRCUSRMAIL, AMDEBODY. Source of MMAIL/QCMDSRC involved: PRCUSRMAIL. Source of MMAIL/QPNLSRC involved: PRCUSRMAIL. April 1, 2008 -Program PRCUSRMAIL (Process User Mail) was not behaving properly as the detachment of the body and of the attachments of a mail message was performed through a batch parallel job. That asynchronous process has now been converted to a synchronous one. Source of MMAIL/QRPGLESRC involved: PRCUSRMAIL, YYYSOCKET. March 29, 2008 -Removed HDATEDIT(*YMD) and DATFMT(*YMD)from member HSPECS in MMAIL/QRPGLESRC March 26, 2008 - Fixed subprocedure TEMPCRTF: was generating the wrong temporary stream file name - Fixed pgm MMAIL/RESEND (/mmail/Q...txt shorter names now supported) March 21, 2008 - Fixed Compile procedure for V5R1M0: - MMAIL/QSRVSRC member SENDMAIL51 updated - AMailer not available for V5R1M0 March 8, 2008 - Fixed a bug in SENDMAIL subprocedure MimeStrBody. - Provided feature for automated inclusion of a header in the bodies of messages created with EML... commands (A footer feature was already made available on November 2, 2007). February 29, 2008 - Command STREMLSPLF has a new parameter (CHKUSRDTA). It allows to select the spool files to be e-mailed from the user data rather than from the spool file name. - A new library called MMAILDATA is created at installation time (unless already existing). It contains files populated by the customer (such as MIME, ADDR, DSTH, DSTL, CONTACTS) so that their data are not lost when a new MMAIL version is installed. February 16, 2008 - Pgm CVTSPLPDF still had a bug: it was miscomputing the length of a print line in case it had leading blanks. Fixed today (thanks to Juan Ramón García Martel from Spain). - Module XXXMIME of service program SENDMAIL has no longer need to submit command CVTSPLSTMF for a batch execution. February 12, 2008 - Command CVTSPLSTMF now (at last!) enabled to create PDFs even when job CCSID other than 37. This was obtained by modifying slave program CVTSPLPDF. It was using hard coded special characters. February 9, 2008 - Update module YYYDETACH (srvpgm SOCKETMAIL) to better support .RTF attachments. - Programs AMNEWMSG and AMREPLY were ignoring "bc" addressees. February 5, 2008 - New release of SENDMIME by Paul Manners. Mainly related to making unique the names of temporary MIME files. January 9, 2008 - XXXMIME -Fixed subprocedure StrMimeBody. - XXXMAILSND -Changed delay of 5 seconds between two consecutive outgoing e-mails to a value specified by command MMAIL/SETEMDELAY - Fixed pgm AMREPLY (could reply to the wrong e-mail address) January 4, 2008 - Fixed pgm MAILUSERS (was not deleting attachment stream files when removing an user) - Fixed pgm MAILUSERS (errors in spelling file names AMMAIL01, AMMAIL02, AMMAIL) - Added error messages to module AMGETMAIL when failing to receive mail for an user. December 22, 2007 A new command made available for e-mailing spool file: EMLSPLX. It includes the same parameters as command EMLSPL. However: -An overall conversion to PDF option is available. -A parameter (PDFUTILITY) is available for selecting among the available conversion utilities. -If conversion utility CVTSPLSTMF is selected, parameters for assessing the PDF layout are also prompted. December 18, 2007 - Last fix (hope) to "