Differences between CSSMTP and SMTPD
If you are currently using Communications Server SMTPD on z/OS®, you should migrate to CSSMTP. IBM® has issued a statement of direction indicating that SMTPD will be withdrawn in a future release. CSSMTP has been designed to support z/OS users of SMTPD that create mail on the JES spool data set using batch jobs or that use SMTPNOTE for delivery to the Internet. The mail messages you send today using SMTPD can probably be sent with CSSMTP. However, as shown in Table 1, CSSMTP does have differences from SMTPD, and might not be able to accommodate everyone. Some of the primary differences that require migration consideration are as follows:
- CSSMTP does not provide SMTP listener support; it cannot be used to receive mail to z/OS for delivery to TSO users. You must continue to use SMTPD for this kind of support or consider using sendmail for delivering mail to mailboxes defined in the z/OS UNIX file system.
- CSSMTP delivers mail only to systems that have TCP/IP host names. If you are using a local TSO user ID on the POSTMASTER statement for your SMTPD server, then the local TSO user ID must be changed to an email address with the format userid@host.domain on the MailAdministrator statement for CSSMTP. For information about the MailAdministrator statement, see z/OS Communications Server: IP Configuration Reference.
- CSSMTP does not perform DNS lookups to determine a target server for each recipient. CSSMTP requires a connection to an SMTP or ESMTP server that receives the mail and handles next-hop delivery. Typically, the target server is located at a remote destination, but could also be a local instance of sendmail.
- If mail that CSSMTP sends to the target server becomes undeliverable, CSSMTP is not able to receive the undeliverable mail notification because CSSMTP is not a server. The originator (that is, MAIL FROM) of mail messages should be reachable from the target server.
- CSSMTP processes a mail message directly from the JES spool data set and sends the mail message to the target server. If CSSMTP cannot deliver the mail message immediately, the message is held for a short period of time, defined by the RetryLimit statement. After this retry period expires, CSSMTP saves the mail message in the z/OS UNIX file system for the period of time defined by the ExtendedRetry statement. If CSSMTP cannot deliver the mail within any configured retry time limit, the mail becomes undeliverable. CSSMTP stores the mail in a z/OS UNIX directory between retry intervals.
- CSSMTP does not support source routing, such as the <@host1,@host2:userid@host3> or <NJEuserid%NJEhost> formats. For example, in the address string @host1,@host2,...,@hostn:user_id@host_name, the @host1,@host2,...,@hostn portion of the address is ignored and user_id@host_name is used as the recipient value. If you are using source routing, you might want to change it to be an email address with the format userid@domain (mailbox). Otherwise, the mail might not be delivered.
Function | CSSMTP | SMTPD |
---|---|---|
Managing the JES spool file | Uses bad spool file or error report. For information about the BadSpoolDisp, Undeliverable, and Report statements, see z/OS Communications Server: IP Configuration Reference. | Uses DASD to store mail |
Code page translation | Yes; uses iconv support of the EBCDIC code page for the JES spool file. For information about using the Translate statement, see z/OS Communications Server: IP Configuration Reference. | Yes; user-defined translate tables are configured in SMTPD |
Modify RFC 822 headers or the body of the mail | No, except for code pages for converting from EBCDIC to ASCII, and for appending a RECEIVED line header to the beginning of the RFC 822 headers to indicate that CSSMTP has picked up the mail message. | Yes |
Supports SMTP server function (for example, receive mail) | No, CSSMTP is a mail-forwarding SMTP client application and is not a fully capable MTA. | Yes |
Deliver to local TSO user | No; if this function is required, use SMTPD to provide access to a local TSO mailbox. | Yes |
Undeliverable mail | The undeliverable mail notification can either be sent back to the originator or deleted. An error report for undeliverable mail can be generated for SYSOUT or sent to the mail administrator. For information about the Undeliverable and Report statements, see z/OS Communications Server: IP Configuration Reference. | Send back to originator |
Dead letter mail | The dead letter mail can either be deleted or written to a z/OS UNIX file system directory. For information about the DeadLetterAction parameter on the Undeliverable statement, see z/OS Communications Server: IP Configuration Reference. | No configuration parameters to support deadletter processing |
Monitoring mail processing | MODIFY commands | SMSG |
Requires VMCF and TNF subsystems | No | Yes; SMTPD is a Pascal application |
Security | Uses security product authorization profile to provide security. See Security for CSSMTP | Uses the RESTRICT and SECURE statements |
Rewrite the path name in command | No; The batch job needs to use a correct mail address format, such as userid@host.domain. | Yes |
Addition of a message-id field when none appears | Yes | No |
Source routing support, such as the @host1,@host2:userid@host3 or NJEuserid%NJEhost formats | No; CSSMTP removes source routes from the path. CSSMTP does not support source routing and does not generate these addressing formats. | Yes |
Send mail to local mail administrator | No; CSSMTP internally generates a report that can be delivered to a mail administrator, but the mail administrator address must be in the form (userid@host.domain). | Yes; supports the local TSO or remote (NJE) user IDs as a mail administrator |
Supports the SMTP commands EXPN, QUEU, HELP, NOOP, TICK, VERB, and VRFY | No; for commands supported, see z/OS Communications Server: IP User's Guide and Commands. | Yes |
Resolver | z/OS UNIX search order for resolver configuration files. Uses system resolver. | Native MVS™ search order for resolver configuration files. Does not use system resolver. |
Checkpoint | Yes; for information about using the CHKPOINT DD statement in the CSSMTP started procedure and about starting CSSMTP, see z/OS Communications Server: IP Configuration Reference. | No |
IPv6 support | Yes | No |
SMF support | Yes | No |