Steps for analyzing mail delivery problems
Analyze why mail is not delivered properly.
Procedure
Perform the following steps:
- If the problem is that mail was not forwarded to a local
user:
- Was SMTPNOTE customized for your installation?
- Is the local user one that is coded as a restricted user in the SMTP.CONFIG data set?
- Are the JES node parameters coded correctly? This can be determined by issuing a TSO TRANSMIT of a data set to the user and node. If the transmission works, the JES node parameters are coded correctly.
- Activate DEBUG in SMTP.CONFIG data set. Check SYSDEBUG log to see whether SMTP exit program is rejecting the mail. If yes, customer needs to check SMTP exit program.
- If TSO TRANSMIT fails with message INMX202I Node name SMTPNODE not defined to JES when testing customization of SMTPNOTE variables, check that the SMTPNODE variable used by SMTPNOTE is defined correctly in the JES2PARM data set as a node name. Also check that the SMTPJOB name used by SMTPNOTE is not defined as a node name to JES.
- If the problem is that a mail note was not forwarded to
an NJE host:
- Follow the preceding steps for mail that was not forwarded to a local user.
- Is SMTP configured as an NJE gateway?
- Was SMTPNJE successfully run to create the NJE host table data set?
- Check whether the NJE node is in the NJE host table data set.
- If the problem is that mail was not forwarded to a remote
TCP/IP host:
- Determine whether the mail is queued on the resolver queues or
on a specific IP address queue.
- Issue the queue command by doing one of the
following tasks:
- Issue the modify command. See z/OS Communications Server: IP System Administrator's Commands for more information about the MODIFY command for SMTP.
- Issue the SMSG SMTP QUEUE command on the TSO command line.
- Browse the ADDRBLOK data set for obvious errors. The ADDRBLOK data set is described in ADDRBLOK data set.
Restriction: Stop SMTP to obtain the ADDRBLOK data set as it was sent, because the data set is updated during processing and deleted when the number of recipients equals 0. - Issue the queue command by doing one of the
following tasks:
- Mail is on the resolver queues if the host name cannot be
resolved to an IP address.
- Check the system console or the SMTP output log for an EZA5208E message. If this message is present, then SMTP has received a domain
name server (DNS) response that has the truncation bit set to on in
the packet. SMTP discards these packets because the DNS response is
not complete. SMTP continues to retry these DNS queries for the amount
of time that is configured. If the same DNS response continues, the
mail message eventually becomes undeliverable. Use the RESOLVER traces
to determine which DNS is sending the response and the unresolved
name. Look for message EZA5526I in the resolver traces. Update the
BIND server data base files or the TCPIP.DATA file to specify a correct
set of name servers to resolve this problem.Tip: You can avoid this problem by migrating to the new CSSMTP application. The CSSMTP application handles the DNS truncation differently because it uses the system resolver. SMTP has its own resolution code.
- If it has not, run RESOLVER trace to see whether the host name is resolved correctly. The RESOLVER trace is explained in SMTP RESOLVER trace.
- Check the system console or the SMTP output log for an EZA5208E message. If this message is present, then SMTP has received a domain
name server (DNS) response that has the truncation bit set to on in
the packet. SMTP discards these packets because the DNS response is
not complete. SMTP continues to retry these DNS queries for the amount
of time that is configured. If the same DNS response continues, the
mail message eventually becomes undeliverable. Use the RESOLVER traces
to determine which DNS is sending the response and the unresolved
name. Look for message EZA5526I in the resolver traces. Update the
BIND server data base files or the TCPIP.DATA file to specify a correct
set of name servers to resolve this problem.
- Mail is on a specific IP address queue. Is this the
expected IP address of the target mail server? If your answer is no,
answer the following questions:
- Are you using IPMAILERADDRESS? If you are, understand the implications
of the following settings.
- RESOLVERUSAGE NO
- This setting causes all mail destination for IP networks to be sent to this IP address. The IP mailer address is wrong. If you recently changed the IP address, for this change to affect existing mail, issue the SMSG SMTP EXPIRE command on the TSO command line or see z/OS Communications Server: IP System Administrator's Commands for more information about the MODIFY command for SMTP.
- RESOLVERUSAGE YES
- This setting causes SMTP to send mail to the IPMAILERADDRESS only
if it is unable to resolve the host name of the recipient of the mail.
If SMTP has access to a domain name server, it will likely be able
to resolve the host name and will not send mail to the IPMAILERADDRESS.
If you want all mail to be sent to the IPMAILERADDRESS change this setting to NO. For this change to affect existing mail, after you set it to NO, issue the SMSG SMTP EXPIRE command on the TSO command line or see z/OS Communications Server: IP System Administrator's Commands for more information about the MODIFY command for SMTP.
Are you using IPMAILERNAME? If the IP address is not correct, run RESOLVER trace to see whether the host name is resolved correctly. The RESOLVER trace is explained in SMTP RESOLVER trace.
Is message EZA5647E generated in the SMTP logs? Or when resolver traces are active, is the Potential loop IP mailer = trace message generated? If yes, HOME IP addresses in the IP list are associated with the IPMAILERNAME. Activate resolver traces in SMTP to understand how SMTP resolved the IPMAILERNAME. Either correct the IPMAILERNAME, or remove the HOME IP address from the list of addresses that are associated with the IPMAILERNAME in the DNS database or local host tables.
- Are you using IPMAILERADDRESS? If you are, understand the implications
of the following settings.
Mail is on a specific IP address queue with the expected IP address of the target mail server. Is the remote TCP/IP/SMTP server running?
Use the PING command to see whether the remote TCP/IP is running, or try using Telnet to access the IP address of the remote mail server using port 25. You can also use packet trace to ensure that SMTP can connect to this IP address and that another remote SMTP mailer is at this address.
Guideline: Options that are coded in the SMTP.CONFIG data set directly affect how and when names are resolved by name servers, how often mail delivery is attempted, if there is a problem in the network or the remote NAME server, or if the SMTP server is not running.
- Determine whether the mail is queued on the resolver queues or
on a specific IP address queue.
What to do next
- SMTP.CONFIG data set
- TCPIP.DATA data set
- Output from SYSERR and SYSDEBUG of the started SMTP procedure with DEBUG turned on
- ADDRBLOK data set