天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 4474|回复: 15

[已解决] 给指定用户自动发送邮件通知

[复制链接]
上海中信 发表于 2012-5-24 15:03:52 | 显示全部楼层 |阅读模式
本帖最后由 bess 于 2012-5-28 16:34 编辑

在表单配置过程中,根据需求保存表单时自动给参加会议的人员发送邮件通知
表单 123.png
如图所示自动给用户选择框中选择的用户发送邮件通知。请问这个该怎么实现?
shary 发表于 2012-5-24 15:07:00 | 显示全部楼层
您好,您可以通过发送邮件脚本实现您的业务。具体可参看帖子:http://www.teemlink.com/bbs/view ... ;highlight=sendMail
 楼主| 上海中信 发表于 2012-5-25 17:42:06 | 显示全部楼层
回复 2# shary


    你好我照帖子中的方式去做后前台报错。 1.png
   我的前台页面: 2.png
还有帖子中注释senderid不是发件人id吗?和receiverId类型应该一致呀,帖子上怎么写成了date型?
bess 发表于 2012-5-25 17:47:50 | 显示全部楼层
您好,这个是一个函数哦,您需要在函数库先建一个函数deliverMassage,然后在您的保存按钮中调用这个函数,将其结合系统函数
sendMail(from, to, subject, body, host, user, emailpassword, bbc, validate);
一起使用。
这个是函数的调用:
#include " autosqllib";
deliverMassage("manner","title","content","receiverId","description","emailpassword", "senderid");
 楼主| 上海中信 发表于 2012-5-25 17:57:17 | 显示全部楼层
回复 4# bess


        我是按你说的在函数库写了这样一个函数,在保存的执行后脚本中写了这段调用脚本如下:
var manager = "30";

var titles = getItemValueAsString("会议名称");

var content = getItemValueAsString("备注");

var receiverId = getItemValueAsString("邮件通知与会人员");

var descriptions = getItemValueAsString("备注");

var emailpassword = getItemValueAsString("个人邮件密码");

var senderid = getItemValueAsString("申请人");

#include " autosqllib";
deliverMassage(manager,titles,receiverId ,content,descriptions,emailpassword, senderid);
shary 发表于 2012-5-25 18:14:12 | 显示全部楼层
您好,请问你的公有的函数库名也是跟那个例子一样命名为:autosqllib,然后其中的function名为:deliverMassage吗?
根据错误是您的这个函数没有定义的。
 楼主| 上海中信 发表于 2012-5-28 09:35:03 | 显示全部楼层
回复 6# shary


    02j.png
您好。如上图所示,我已在共用函数库定义了库名autosqllib和函数名deliverMassag,并确认名称一致。function()函数定义如下:
function deliverMassage(manner, titles, content, receiverId, descriptions, emailpassword,senderid) {
        content = description + content;
        var curuserprocess = getUserProcess();
        var curuser = getWebUser();
        var userIds = receiverId;
                    if (manner.indexOf("30") > -1 && emailpassword) {
                var userVO = curuserprocess.doView(senderid);
                var from = userVO.getEmail();
                // niro@teemlink.com
                var to = "";
                // zhangjuzhang@yahoo.com
                var SMuser = createObject("java.util.ArrayList");
                SMuser = getUserList(userIds);
                var i = from.indexOf("@");
                var host = from.substring(i + 1);
                // teemlink.com
                var user = from;
                // niro@teemlink.com
                 var emailpassword=getItemValueAsString(emailpassword); //123456
                var bbc = null;
                // 抄送
                var validate = true;
                var subject = title;
                var body = content;
                if (SMuser != null && SMuser.size() > 0) {
                        for (var i = 0; i < SMuser.size(); i++) {
                                to = SMuser.get(i).getEmail();
                                sendMail(from, to, subject, body, host, user, emailpassword, bbc, validate);
                        }
                }
        }
}


保存的动作执行后脚本如下:
var manager = "30";

var titles = getItemValueAsString("会议名称");

var content = getItemValueAsString("备注");

var receiverId = getItemValueAsString("邮件通知与会人员");

var descriptions = getItemValueAsString("备注");

var emailpassword = getItemValueAsString("个人邮件密码");

var senderid = getItemValueAsString("申请人");

#include " autosqllib";
deliverMassage(manager,titles,receiverId ,content,descriptions,emailpassword, senderid);
自己前后审核。貌似没有问题啊。。。这是怎么回事呢
purple 发表于 2012-5-28 10:02:18 | 显示全部楼层
您好,我这边也没看出什么异常,您将调用语句:#include " autosqllib";函数前的空格号去掉再试一下,不行,我们再沟通。
 楼主| 上海中信 发表于 2012-5-28 10:20:10 | 显示全部楼层
回复 8# purple


    003j.png
  刚才的确是空格问题导致,可是依旧报错,貌似用户集合获取不到唉。。这行报错SMuser = getUserList(userIds);
因定义 userIds = receiverId; 而收件人id(receiverId)是用户选择框而且是多个用户,是否多个用户不能获取呢?请问该怎么解决?
purple 发表于 2012-5-28 10:58:52 | 显示全部楼层
可以获取呀。您的userIds是多个用户ID,您可以先截取成单个用户ID,再传入getUserList方法即可。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 10:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表