在PeopleSoft中如果配置了工作流邮件或者标准页面的通知,都是可以发送出邮件的,这些邮件都是由SMTP服务器发送。SMTP需要在APP服务器和PRCS服务器中配置。
如果无法从PeopleSoft中发送邮件,那么可能和SMTP设置有关,我们需要确保在PeopleSoft配置文件中是正确的。
SMTP设置在APP服务器中的文件是psappsrv.cfg在PRCS服务器中的文件是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,SMTPort,SMTPSender,SMTPSourceMachine是必填并且有效的。这些设置是实时生效的不需要重启服务。
为什么SMTP服务器不能发送邮件
在设置了SMTP之后仍然不能发送出邮件,可能是以下几点原因:
-
SMTP服务器参数问题:请邮件服务器运维同事检查下SMTPServer,SMTPPort,SMTPSender这些参数是否有效。
-
SMTP服务器跪了:SMTP服务器可能正好关机了,可以通过SMTPServer1 SMTPPort1参数来设置备份的邮件服务器。
-
邮件服务器阻止发送邮件:有可能邮件服务器有白名单控制,只允许某些ip的服务器调用,或者邮件服务器有设置,比如每小时只允许发送100封邮件。
如何Debug SMTP
-
在APP和PRCC服务器中启用Trace:可以在psappsrv.cfg和psprcs.cfg文件中启用Trace参数如下:
LogFence=5
SMTPTrace=1
SMTPTrace不是动态参数,需要重启相应domain,这些操作完成之后,可以在LOGS文件夹中看到SMTP.log也需要查看下APPSRV*.Log。以下是SMTP.log文件中一些log的解释:
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. 使用PSMAIL.exe来发送测试邮件:PSMAIL.exe就在winx86目录下如截图:
例如:
PSMAIL -TO"easonlh@gmail.com"-FROM"xx@xx.com"-SUBJECT"TEST EMAIL"
我的公众号: