SMTP Settings Not Working in PeopleSoft
PeopleSoft can be configured to send emails to users for various purposes like WorkFlow Email, Notify button from PeopleSoft Page, Output of PS Job or any other process etc. All these email are send by a SMTP server, details of which are configured in PeopleSoft Application Server and Process Scheduler Configuration Files.
If you are unable to send emails from PeopleSoft application then it could be something related to SMTP settings. We need to make sure that the settings are correct in PeopleSoft configuration files.
SMTP Settings in PeopleSoft Application Server Config File (psappsrv.cfg) and Process Scheduler Config file (psprcs.cfg)
[SMTP Settings]
;=========================================================================
; Settings for SMTP mail
; All controls under SMTP Settings can be dynamically changed
;=========================================================================
SMTPServer=
SMTPPort=25
SMTPServer1=
SMTPPort1=0
SMTPSender=PeopleSoft@peoplesoft.com
SMTPSourceMachine=
SMTPCharacterSet=
SMTPEncodingDLL=
SMTPTrace=0
SMTPSendTime=0
SMTPServer, SMTPPort, SMTPSender,SMTPSourceMachine needs to be entered and should be valid. These settings are dynamic and don’t need rebooting Application Server or Process Scheduler.
Why SMTP Server Fails to send email
It could happen that even after entering the SMTP settings, you are still unable to send emails. Below is a list of reasons for the failure.
1. SMTP Server details are invalid : Check with your Infrastructure team which maintains the SMTP server and make sure the details like the SMTPServer, SMTPPort,SMTPSender are valid.
2. SMTP Server is down: SMTP server may have been down for sometime resulting in failure of emails during that time. You can setup a backup SMTP Server by entering the details in SMTPServer1 & SMTPPort1 parameters.
3. PeopleSoft Server is blocked from sending emails: In one of the projects I worked on, the issue was with one Server unable to send emails. Check with Server Admin to see if Server is allowed to send SMTP Emails.
4. SMTP Server is blocked: SMTP Servers can be configured to allow only certain no. of emails from a server. Recently I faced this issue where some of the emails were sent but others were failing and later found out that SMTP Server was configured to allow only 420 outgoing emails per hour. Once the SMTP server was changed to send unlimited emails, issue was fixed
5. SMTPSourceMachine is not configured properly: SMTPSourceMachine should be the name of the server on which Application Server or Process Scheduler is running.
Additional Reading: Important Files on PeopleSoft Application Server
How to Debug SMTP
1. Enable Trace on Application Server/Process Scheduler: To debug the issue, you can use the following settings in Appserver config file (psappsrv.cfg) and/or Process Scheduler config file (psprcs.cfg).
LogFence=5
SMTPTrace=1
SMTPTrace is not a dynamic settings and needs reboot of the domain. Once these settings are done, you will see a SMTP.log file generated in the LOGS folder. You may want to check the APPSRV*.Log file as well.
Here is a explanation of notations that you will see in SMTP log file which will help you understand where the email is failing.
SMTP[in] – Opening Network Connection
SMTP[tx] – Sending Info to SMTP Server
SMTP[rx]- Receiving Info from SMTP Server
SMTP[ex] – Closing Network Connection
2. Test SMTP Service on Windows: For Details see this article on MicroSoft. Another nice article detailing the commands to test the SMTP via Telnet.
3. Use PSMAIL to send test email: PSMAIL.EXE looks for the environment variable PS_SERVER_CFG to retrieve its SMTP Settings.
That variable is usually set on the Application Server and Process Scheduler on boot up.
On the Application Server, it usually is set to %PS_HOME%\appserv\\psappsrv.cfg.
On Process Scheduler, it usually points to %PS_HOME%\appserv\prcs\\psprcs.cfg.
The possible command line arguments are:
TO = the recipients of the email
CC = carbon copy list of recipients
BCC = blind carbon copy list of recipients
FROM = the sender of the email
SUBJECT = the subject heading of the email
BODY = the email body
FILE = list of file attachments to send with email.
File location is relative to where PSMAIL.EXE is run from.
INPUT=points to a config file that contains the above seven arguments.
This was to bypass the maximum number of characters allowable on a command line and carriage return/line feeds.
The tokens – or / can be used in front of the above arguments.
The values for each argument must be encapsulated in double quotes.
Look at the following examples.
Sample usage:
PSMAIL -TO”prashant@peoplesoftutorial.com” -FROM”apurva@peoplesofttutorial.com” -SUBJECT”Daily Traffic Report(s)”
PSMAIL /TO”prashant@peoplesoftutorial.com” /FROM”apurva@peoplesofttutorial.com” /SUBJECT”Traffic Reporting” /BODY”Hey Apurva, Please have a look at the Site’s Traffic.”
Hi Prashant,
Is there any way to exclude mail’s attachments from SMTP log?
Thanks
Hi Prashant,
I have provided my user id in the notifications tab in the process definition. Once the process ran it is sending an email. But the email is missing the log attachment. Where should I check ?
Thanks,
Prasanth.