Is anyone using IBM's CSSMTP to send out the email notifications?

Is anyone using IBM's CSSMTP SMTP client to send out the email notifications? Did you have to make any changes to the CMNS$$ENT, ENOTIFY2 sample? We are on v8.2 patch 5. Our reason for our wanting to use CSSMTP is make use of its ability to use AT-TLS when connecting to a remote SMTP server. TIA

Labels:

ChangeMan ZMF
  • R&D will take a look at this and get back with a response.  Separately, be advised that ZMF 8.2 Patch 5 has been out of support for some time. 

    Sr R&D Manager, Mainframe Products

    Open Text

  • Thanks, I appreciate you all looking into this for us, as we have been instructed to stop using unencrypted network connections to our SMTP servers. Our tool of choice for doing that is to use CSSMTP, which we are using already.

  • Use of CSSMTP is illustrated in the following Rexx example found below.

  • Is this only available starting with v8.3 or is it available with v8.2.5 also?

  • The example can be used in either 8.2 and 8.2.5.

    It is a user customization

  • Mark, As I mentioned earlier, ZMF 8.2 Patch 5 and indeed Patch 6 are no longer in support.
    It is recommended that you plan to upgrade to ZMF 8.2 Patch 7 or ZMF 8.3

    Sr R&D Manager, Mainframe Products

    Open Text

  • That is correct, upgrade planning is underway.

  • Verified Answer

    v8.3.1 will contain support for the CSSMTP method for generating emails from ChangeMan.

    The default sysout writer will be CSSMTP and  default sysout ddname will be CSSOUT.

    These options can be overridden by visiting general Admin panel CMNGGP07.

    An option to use direct to the Email server  as opposed to CSSMTP as preferred is the default.

  • Is it possible to get a copy of these two files while our ChangeMan admin is working through getting this version installed? I'm the system programmer for network, which includes CSSMTP, so I would like to review the member contents.

  • See the JCL and REXX below as samples of how this might be accomplished.

    Your environment may be different and require some modifications to this example.

    JCL

    //DJACKS2R JOB (X170,374),'CSSEXMP',
    // NOTIFY=DJACKS2,TIME=500,REGION=0M
    /*JOBPARM S=D001
    //*******************************************************************
    //* BATCH SUBMISSION OF CSSEXMP
    //*******************************************************************
    //CSSEXMP EXEC PGM=IRXJCL,
    // PARM='CSSEXMP djackson2@opentext.com Test message'
    //* =======================SERNET LIBS=====================
    //STEPLIB DD DISP=SHR,DSN=SERPRD.SER83U.LINKLIB
    //*******************************************************************
    //* REXX LIBS
    //*******************************************************************
    //* ======================REXX CODE========================
    //SYSEXEC DD DISP=SHR,DSN=DJACKS2.TEST.EXEC
    //SYSPRINT DD SYSOUT=*
    //SYSTSPRT DD SYSOUT=*
    //CSSOUT DD SYSOUT=(A,CSSMTP),SPIN=UNALLOC

    REXX

    /* REXX email via CSSMTP */
    /*
     CSSEXMP
     ========

     This is an example of how the CSSMTP works.

     INPUT
     =====
     It expects argument which identify an email recipient followed
     by a single message to be delivered via the email server.

     LOGIC
     =====
     1. Initialization
     2. Generate SMTP Header
     3. Generate SMTP Body
     4. Generate SMTP Footer
     5. Write email to SYSOUT
     6. Close sysout and return

     History of changes:
     ===================

     Date programmer description
     ---------- ----------- -------------------------------------------
     2024/01/13 Danny Duffin Created


    */
    CSSEXMP:
    parse arg recipt msg
     call Init_Variables
     call Generate_SMTP_Header
     call Generate_SMTP_Body
     call Generate_SMTP_Footer
     all Write_Email
     Exit 0

    Init_Variables:
     Out=''
     Out.=''
     Out.0=0
     ox=0
     Subject='Message from CSSMTP'
     iprc= Socket('Initialize','CSSMTP')
     host= Socket('GetHostId')
     hostname= Socket('GetHostname')
     domain= Socket('GetDomainName')
     parse var domain socket domain
     iprc= Socket('Terminate')
    Return

    Generate_SMTP_Header:
     ox=ox+1;Out.ox='Helo' domain
     ox=ox+1;Out.ox='Mail from:<david.jackson@'domain'>'
     ox=ox+1;Out.ox='Rcpt to:<'Recipt'>'
     ox=ox+1;Out.ox='data'
     ox=ox+1;Out.ox='x-mailer: CSSEXMP'
     ox=ox+1;Out.ox='Date:' date() time() PDT
     ox=ox+1;Out.ox='From: ChangeMan@'domain
     ox=ox+1;Out.ox='To:' Recipt
     ox=ox+1;Out.ox='Subject:' Subject
     ox=ox+1;Out.ox='MIME-Version: 1.0'
    Return

    Generate_SMTP_Body:
     ox=ox+1;Out.ox='Content-Type: text/html;'
     ox=ox+1;Out.ox=''
     ox=ox+1;Out.ox='<font face="Garamond" size="+1" color=blue>'
     ox=ox+1;Out.ox=msg
     ox=ox+1;Out.ox='</font>'
     ox=ox+1;Out.ox='<br>'
     ox=ox+1;Out.ox='<font face="Century" size="+1" color=red>'
     ox=ox+1;Out.ox='message reply'
     ox=ox+1;Out.ox='</font>'
     ox=ox+1;Out.ox='<br>'
     ox=ox+1;Out.ox='<font face="Arial" size="+1" color=black>'
     ox=ox+1;Out.ox='<br>'
     ox=ox+1;Out.ox='Regards'
     ox=ox+1;Out.ox='<br>'
     ox=ox+1;Out.ox='ChangeMan Administrator'
     ox=ox+1;Out.ox='<br>'
     ox=ox+1;Out.ox='</font>'
     ox=ox+1;Out.ox='</html>'
    Return

    Generate_SMTP_Footer:
     ox=ox+1;Out.ox='.'
     ox=ox+1;Out.ox='QUIT'
    Return

    Write_Email:
     Out.0=ox
    " EXECIO" out.0 "DISKW CSSOUT (FINIS STEM OUT."
    Return

    Sr R&D Manager, Mainframe Products

    Open Text