zoukankan      html  css  js  c++  java
  • 关于Infopath的3种Email发送功能

    公司需要回报每天服务器的状态,写了一个infopath的表单放在了sharpoint的上面,每天我们去写,然后数据保存到sharpoint中,最后发送一份email报告给老板。
    其实很简单,一个按钮里面submit2个动作:1、tosharepoint 2、email把这个两个数据源就好了。
    但是这样发送email后只能是给出一个附件(当前报告的xml文件)
    如果是察看者当时没有infopath就无法打开这个文件。
    想个办法将他写一个摘要信息放到email的body里面。
    使用
    var objEmailAdapter;
    objEmailAdapter = XDocument.DataAdapters("email_submit");
    这样便可以自定义发送的东西
    但是没有办法发送html文本。
    于是查找资料,国内的几乎没有,到google的论坛上看,好像这个功能只能在2k7中实现。
    不过查到了另外一个方法:使用 var objEmail = Application.ActiveWindow.MailEnvelope;
    它可以将表单变成email的body填写之后他就抓出当时保存的数据发送,而且还可以写备注信息(可以加上超文本标记)比较爽!
    但是还有一个问题就是3个方法都没有办法强行让客户发送电子邮。如果有人清楚如何操作请指点。
    方法一:直接使用按钮中的规则,确认传输数据源(sumbit data connection)。
    方法二:使用script,
    var objEmailAdapter;
    objEmailAdapter = XDocument.DataAdapters("email_submit");
    objEmailAdapter.Subject = emailSubject;
     objEmailAdapter.Intro = emailContent;
    objEmailAdapter.Submit();
    方法三:使用var objEmail = Application.ActiveWindow.MailEnvelope
    var objEmail = Application.ActiveWindow.MailEnvelope;
     objEmail.To = "email@email.com "
    objEmail.Subject="Subject";
    objEmail.Visible=true;

    PS: 如何取infopath数据
    XDocument.DOM.setProperty("SelectionNamespaces", 'xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-06-07T07:30:55"');//这个申明是在外面
    emailSubject = XDocument.DOM.selectSingleNode("//my:myFields/my:Subject").text;
    但是有一点疑惑,在sdk的example中没有使用//也没有使用my而是直接
    ('/myFields/Subject')在他的程序中我运行没有错误,我在自己的表单里面总是报告找不到对象。
    真是不知道是什么。

  • 相关阅读:
    IOS RunLoop理解(参考YYKit)
    与个推人员的沟通
    idea报错:找不到或无法加载主类
    linux couldnt resolve host mirrors.aliyun.com解决方法
    【Linux】简单明了查看内存使用和ubuntu的版本号及位数
    【Linux】scp“免密” 远程copy较多文件
    【Repo】推送一个已有的代码到新的 gerrit 服务器
    Android之Monkey全参数(包含隐藏参数)
    Android系统adb命令查看CPU与内存使用率
    adb 命令连接指定设备
  • 原文地址:https://www.cnblogs.com/Mint/p/438788.html
Copyright © 2011-2022 走看看