JS实现静默发送邮件功能
1.场景描述
FineReport中提供了各种发送邮件的方法,比如报表工具栏手动点击发送邮件,控件点击或编辑后发送邮件,决策系统中定时任务发送邮件等等;
但是在某些场景下,比如填报完某个页面后,判断填报中出现了某个关键字,此时需要发送邮件给某个领导,而使用定时任务可能不及时,也会以占用服务器资源,使用手动发送则比较麻烦,需要填写收件人,抄送人,内容等等,比如我们需要在填报成功后通过JS判断,符合某个条件时,需要发送邮件,而且发送指定的内容,这时就需要用到JS发送邮件功能了。
需求:模板中选择了一批数据中发生了中止,填报成功后立即通过邮件告知,并发送中止的内容信息。
2.解决思路
在JS中,FineReport提供了_g().emailReport()这个方法来启动发送邮件功能,但是仍然弹出的是手动发发邮件的功能,我们可以使用FR.sendMail()方法来实现更加灵活的发送邮件功能
3.解决方案
要求填报成功后检测到中止列中有勾选中止时,发送邮件,并提示哪些信息发生了中止
打开模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm1.cpt,添加一个填报成功事件,如下图:
其中,发送邮件里面的参数有几个需要在实际实用中修改
参数 | 描述 |
---|---|
mailTo | 收件人邮箱地址,可以是多个 |
cc | 抄送邮箱地址 |
bcc | 密件抄送邮箱地址 |
tittle | 邮件主题 |
mainText | 邮件主要内容 |
showTplContent | 是否显示报表内容 |
注:发送邮件需要设置发件人账户,点击管理系统>系统管理>邮件,进行配置,详细请查看系统管理中的邮箱配置;
另:如果在邮箱配置中邮件总是发送失败,请查看邮箱配置失败
填报成功后,如果选了中止,就会发送邮件,并且显示发送结果,最终效果如上图。
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)