zoukankan      html  css  js  c++  java
  • AX 2009 实现outlook发送邮件并带多个附件

      做过AX的人,对outlook发送邮件都应该非常熟悉,但是,要将AX中的附加图片和文档,一起附加到outlook并发送。我觉得还是值得一说的。

      我还是以拿出代码和大家分享吧。

      void sendEmail()

      {    

        COM                         outLook;    

        COM                         item;    

        COM                         attach;    

        COM                         cc;    

        System.Net.Mail.MailAddress adrSend;    

        str                         subPath;    

        str                         strSubject;    

        str                         userid;    

        int                         i;    

        System.Text.RegularExpressions.Regex reg;    

        EmplTable    emplTable;     ;    

        userid = curuserid();    

        emplTable = EmplTable::find(EmplTable::userId2EmplId(curuserid()));    

        //reg = new System.Text.RegularExpressions.Regex("@^\s*([A-Za-z0-9_-]+(\.\w+)*@([\w-]+\.)+\w{2,3})\s*$/");     reg = new                    System.Text.RegularExpressions.Regex("^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$");    

        if(!reg.IsMatch(emplTable.OutlookUserID))    

        {        

          throw error("Email format is error");    

        }     //adrSend = new System.Net.Mail.MailAddress(emplTable.OutlookUserID);

           adrSend = new System.Net.Mail.MailAddress("kui.ding@rogrand.com");    

        outLook = new COM("OutLook.application");    

        item = outLook.CreateItem(0);    

        attach  = item.attachments();    

        //item.to(emplTable.OutlookUserID);    

        item.to("364991746@qq.com");    

        //item.cc("kui.ding@rogrand.com;kimding@163.com");    

        strSubject = strreplace(this.subjectText(),'\r\n','');    

        item.subject(strSubject);     //item.body("testtesttest");    

        for(i = 1;i<=conlen(this.attachPath());i++)    

        {

                if(winapi::fileExists(conpeek(this.attachPath(),i)))        

          {            

            attach.add(@""+conpeek(this.attachPath(),i));        

          }        

          else        

          {            

            info(strfmt("not exist %1",conpeek(this.attachPath(),i)));        

          }    

        }    

        item.attachments();  

          

        //item.send(); //直接发送   

        item.display(true);//显示outlook界面

    }

      刚开始做的时候,也很纠结,不知道多个附件该如何附加,后来是通过参考在.net当中outlook添加附件,才慢慢摸索出来的。

  • 相关阅读:
    多元化时代敏捷软件开发的崛起与传统软件工程的延续
    敏捷软件开发与传统软件工程概述比较
    结构化方法和面向对象方法的比较
    sql server 的Maintenance Plans(维护计划)详解
    sql server 如何查询出数据库作业所有者的信息并完成批量替换
    sql server 运维时CPU,内存,操作系统等信息查询(用sql语句)
    sql server 数据导出(入)方法总结
    sql server 转置 和实现随机分配和一串代码的含义拼在一行
    python 之路初(一):pycharm 安装 和 环境配置 和 中文乱码问题
    Qt5.9.6 vs2015 SQlite 数据库增删改查
  • 原文地址:https://www.cnblogs.com/dingkui/p/2567524.html
Copyright © 2011-2022 走看看