Skip to main content

IBM Systems  >   z Systems  >   z/VM  >  

Description of EMAIL

Download count: 28 this month, 4493 altogether.

Downloads for EMAIL:
VMARC archive: v-22K

A Pipelines E-Mail Stage

From Robert Nix, The Mayo Foundation:

The EMAIL Pipelines stage formats a message using SMTP protocol and RFC822, and spools it to the SMTP userid.

You supply the message and the list of addresses to send the message to, and optionally a subject and a reply-to address. The datastream is built and sent to the SMTP virtual machine, and is also sent to the output stream.

As part of the stage, an interface is implemented to a ph server so that RACF userids can be looked up and translated into e-mail addresses. This portion of the stage could be modified to use your ph or other server, or could be removed.


  • If a Domain name is not specified, the current domain name will be found using IDENTIFY (TCPIP.
  • If TESTING is specified, the e-mail message will be constructed and sent to the output stream, but will not be sent to the SMTP virtual machine. Additional debugging information will be displayed on the CMS console.

Input Streams

  • The primary input stream is taken as the body of the e-mail message. No editing will be performed on the data provided. This stream is required.
  • The secondary input stream should be a list of recipients for the e-mail. The default is to use them as "To:" addresses. To change to cc: or bcc:, insert a line into the stream containing cc: or bcc:, with no address on the line. This stream is required.
  • The third input stream contains the e-mail subject. One line is taken from this stream, is prefaced with "Subject:", and is inserted into the e-mail header. This stream is optional.
  • The fourth input stream contains the e-mail Reply-to: address. Providing a reply-to address allows a service machine to send out e-mail, with responses routed back to a real person. This stream is optional.
  • The fifth input stream contains the e-mail From: address. The From: address will default to the current userid at the domain given in the EMAIL stage or defaulted to. Providing a from address allows a service machine such as a web server to associate e-mail with a specific person or group. This stream is optional.

At our site, all e-mail addresses which do not already contain the '@' character will be processed to find the user's preferred e-mail address. If no preferred address can be found, an '@' character and the current domain will be added to the userid, and this will be used as the e-mail address. This procedure could be modified to meet your site's needs, or could be entirely removed.

Unless TESTING is specified, the punch will be spooled to the SMTP virtual machine, and the message will be sent to SMTP.

The e-mail message created will be sent to the primary output stream.


This example sends a short note to an Internet address and a local userid.
   'Pipe (endchar ?)' ,                                                         
        'Literal Just wanted to say hello' ,                                    
      '| a: email' ,                                                            
      '?' ,                                                                     
        'Literal' ,                                       
      '| Literal localid' ,                                                     
      '| a:'                                                                    

This example sends a file to a group of people listed in a Rexx stem. It includes a subject line and a reply-to address.

   'Pipe (endchar ?)' ,                                                         
        '< message data a' ,                                                    
      '| a: email' ,                                                            
      '?' ,                                                                     
        'Stem addresses.' ,                                                     
      '| a:' ,                                                                  
      '?' ,                                                                     
        'Literal Shift turnover for' date('n') ,                                
      '| a:' ,                                                                  
      '?' ,                                                                     
        'Literal' ,                                         
      '| a:'                                                                    

Copyright (c) 1999 by The Mayo Foundation, all rights reserved.

The Mayo Foundation does not provide any warranty on this software, express or implied.