Peoplesoft-邮件提醒功能开发-配置流程

前期准备工作:

邮箱密码加密,找到下面这个加密工具,对邮箱密码进行加密处理。

应用文件夹路径:/home/psadm2/psft/pt/8.57/appserv/APPDOM

进程文件夹路径:/home/psadm2/psft/pt/8.57/appserv/prcs/PRCSDOM

按下面内容这个进行配置 psappsrv.cfg 和 psprcs.cfg 文件中SMTP邮件服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[SMTP Settings]

;=========================================================================

; Settings for SMTP mail

; All controls under SMTP Settings can be dynamically changed

;=========================================================================

SMTPServer=smtp.exmail.qq.com

SMTPPort=25

SMTPServer1=

SMTPPort1=0

SMTPSender=zhaolong@chinasie.com

SMTPUserName=zhaolong@chinasie.com

SMTPUserPassWord= {V2.1}Q/gvFJVXvQdlO6xRfOjFpxYV+Eg****

SMTPSourceMachine=

SMTPCharacterSet=UTF-8

SMTPEncodingDLL=

SMTPTrace=0

SMTPSendTime=0



SMTPUseSSL=N

SMTPSSLPort=465

SMTPClientCertAlias=



SMTPUseSSL1=N

SMTPSSLPort1=465

SMTPClientCertAlias1=

注意:配置完成后需要重启应用服务;理解有误,订正如下:

1
2
3
4
5
6
7
8
/*************邮件配置*************/
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.
/*************邮件日志*************/
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.

下面为页面配置流程:

【SQL语句定义】页面

含义:需要查询出符合邮件提醒条件的员工,查询字段必须符合下面7个字段,没有的需要补空;

【邮件模板配置】页面

含义:配置对应的邮件模板,其中的%1是动态字段,可以是【应用程序包配置】页面中某方法返回值、或者是【配置通知字段】页面中的某个字段。

【应用程序包配置】页面

含义:邮件内容如果超过我们前面默认的7个字段,需要获取被提醒员工的其他信息,可以通过单独自定义方法实现;程序包Applicant_package:C_APP_CLS。

输出项:表示输出字段的描述。(注意:目前一个方法只能输出一个字段)

用法:在后面的【定义通知业务】页面中使用,可以给%1等动态字段赋值。

【配置通知字段】页面

含义:邮件内容如果超过我们前面默认的7个字段,需要获取被提醒员工的其他信息,可以通过单独自定义方法实现;

因为在【定义通知业务】页面中,【邮件模板表格设置】的内容中只能使用”配置字段”,而不能使用应用程序包,所以如果需要在其中使用的动态字段,那么需要在该页面先引用【应用程序包】生成对应的字段才可以使用;

用法:在后面的【定义通知业务】页面,【邮件模板表格设置】中使用,可以给%1等动态字段赋值。

【定义通知业务】页面

含义:%1,%2为动态字段,参数来源可以选择1-通知对象(需要通知的员工),2-通知数据(需要通知什么内容);

当勾选了“表格标识”时,可以在邮件中发送表格内容。

【用户列表定义】页面

含义:【SQL语句定义】页面中对应SQL查出来的通知数据,如果需要通知特殊人员,例如需要同时员工对应的上级、合同管理员等;

那么需要自定义用户列表,后面的【通知提醒配置】中通知人分为:1.指定用户;2.员工自己;3.用户列表;其中“用户列表”即在此处配置;SQL中,需要传入变量,:1–为当前需要通知的员工ID。

【通知提醒配置】页面

含义:通知频率可以是每月,每周、每天等;

覆盖数据选择对应的SQL(即要通知的数据);

通知人类型:1.用户列表;2.员工本人;3.指定用户;

【运行通知提醒】页面

含义:开发可以使用“即时调度”,“测试模式”;正式情况一般使用“按频率调度”,这样的话,会把【通知提醒配置】页面中,当前AE运行时间时,有效的“通知提醒”进行处理,发送邮件提醒。当然,如果需要在特殊时间内,自动运行特定的“通知提醒”,使用“即时调度”的方式。

Q&A

Q1:如果发现进程运行正常,日志仅显示一行:“ 通知提醒ID=xxxxxxx–业务类型=B——通知对象类型=xxx ” ?

A1:检查对应员工是否拥有用户账号;如果员工没有绑定账户,是没法发送邮件的。

Q2:如果发现进程运行正常,日志显示发送给对应员工的邮箱,但是没有发送邮件?

A2:1.检查是否开通外网发送邮件;2.检查配置文件中的发送者密码密文是否正确;

Q3:如果发现进程运行正常,日志显示:“ 模板动态参数%==Message not found” ,发送给对应员工的邮箱,但是没有发送邮件?

A3:检查赋值动态参数的【应用程序类】的方法是否取到了对应的值。