The SMTP server works with the daemon and prestart jobs: QTSMTPSRVD and QTMSMTPSRVP. The SMTP client works with the daemon and prestart jobs: QTSMTPCLTD and QTSMTPCLTP. With prestart jobs, every e-mail request runs as its own job. This method allows each job to focus solely on its client or server program's needs and requests. Without these prestart job entries, SMTP will more than likely fail to start.
System user runs STRTCPSVR *SMTP command to start SMTP. Immediately checking WRKACTJOB SBS(QSYSWRK) and notice none of the QTSMTPXXXX jobs are active.
System user runs WRKJOB QTSMTPSRVD command and notices there are no entries stating the starting of the prestart jobs:
Job XXXXX/QTCP/QTSMTPSRVD submitted.
Start of prestart jobs in progress.
The user verifies their subsystem description by running WRKSBSD QSYSWRK, takes an option 5, then an option 10 and notices they are missing these entries:
This confirms that there are missing prestart job entries for SMTP jobs.
Note: If you require POP3 services you may require QTCP/QTMMSRVR prestart job as well.
SMTP prestart job entries are missing from QSYSWRK. Without these entries, SMTP fails to start.
Diagnosing The Problem
Typically this issue occurs during/after migration/upgrade of a new lpar.
Resolving The Problem
By running ADDPJE command, users can add each prestart job entry manually. Below are the commands that can be used to recreate these prestart job entries.
ADDPJE SBSD(QSYS/QSYSWRK) PGM(QTCP/QTMSSRCP) USER(QTCP) STRJOBS(*NO) INLJOBS(1) THRESHOLD(1) ADLJOBS(2) MAXJOBS(256) JOB(QTSMTPSRVP) JOBD(QUSRSYS/QTMSMTPS) CLS(QSYS/QSYSCLS35)
ADDPJE SBSD(QSYS/QSYSWRK) PGM(QTCP/QTMSCLCP) USER(QTCP) STRJOBS(*NO) INLJOBS(1) THRESHOLD(1) ADLJOBS(2) MAXJOBS(256) JOB(QTSMTPCLTP) JOBD(QUSRSYS/QTMSMTPS) CLS(QSYS/QSYSCLS35)
Note: System users may want to review the rest of their prestart job list to verify if they are missing any other entries.
18 December 2019