***********************************************************************
* System name     : MM                                                *
* Subsystem name  : REPORT                                            *
* Program name    : PO 未发送供应商邮件提醒                            *
* Creation user   : WILLIE                                            *
* Creation date   : 2020.04.27                                        *
* Screen  /STATUS : STATUS1                                           *
***********************************************************************
* REVISION LOG                                                        *
* LOG#    DATE        AUTHOR       DESCRIPTION                        *
* ----   -------      ------     --------------                       *
* 01     20200427     WILLIE       CREATE                             *
***********************************************************************

REPORT  ZMM_PO_REMIND.

TYPE-POOLS:SLIS.

TABLES: EKKO,ZMM27_MAILSEND,VTBBEWE,ZMM27_MAILDATE.

DATA : GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : GS_LAYOUT   TYPE SLIS_LAYOUT_ALV,
       G_REPID     LIKE SY-REPID .

DATA: BEGIN OF GT_DATA OCCURS 0,
      EBELN    LIKE CDPOS-OBJECTID,
      CHANGENR LIKE CDPOS-CHANGENR,
      AEDAT    LIKE EKKO-AEDAT,
      UDATE    LIKE CDHDR-UDATE,
      FRGKE    LIKE EKKO-FRGKE,
      ERNAM    LIKE EKKO-ERNAM,
      ZFLAG1   LIKE ZMM27_MAILSEND-ZFLAG1,
      ZDATE    TYPE INT4,         "当前日期与批准日期差
      END OF GT_DATA.

DATA: GT_SEND LIKE TABLE OF GT_DATA WITH HEADER LINE.
DATA: GT_ERNAM LIKE TABLE OF GT_DATA WITH HEADER LINE.
DATA: WA_MAILDATE TYPE ZMM27_MAILDATE.                                "added by willie 2020.05.12

DATA: BEGIN OF GT_CDPOS OCCURS 0,
      OBJECTID    LIKE CDPOS-OBJECTID,
      CHANGENR    LIKE CDPOS-CHANGENR,
      END OF GT_CDPOS.

DATA: BEGIN OF GT_CDHDR OCCURS 0,
      OBJECTID    LIKE CDHDR-OBJECTID,
      CHANGENR    LIKE CDHDR-CHANGENR,
      UDATE       LIKE CDHDR-UDATE,
      END OF GT_CDHDR.

DEFINE HEAD.
  FIELDCAT-FIELDNAME     = &1.
  FIELDCAT-REPTEXT_DDIC  = &2.
  FIELDCAT-COL_POS       = &3.
  FIELDCAT-REF_FIELDNAME = &4.
  FIELDCAT-REF_TABNAME   = &5.
  FIELDCAT-HOTSPOT       = &6.
  FIELDCAT-ICON          = &7.

APPEND FIELDCAT TO P_FIELDCAT.
  CLEAR: FIELDCAT.
END-OF-DEFINITION.

*--------------------------------------------------------------------*
*      SELECTION-SCREEN
*--------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-T01.
SELECT-OPTIONS: S_EBELN    FOR EKKO-EBELN.
SELECT-OPTIONS: S_AEDAT    FOR EKKO-AEDAT.
SELECT-OPTIONS: S_ERNAM    FOR EKKO-ERNAM NO INTERVALS.
PARAMETERS:     P_SEND     LIKE ZMM27_MAILSEND-ZFLAG1.
SELECT-OPTIONS: S_ZDATE    FOR VTBBEWE-ATAGE.
SELECTION-SCREEN END OF BLOCK BLOCK1.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK2 WITH FRAME TITLE TEXT-T02.
PARAMETERS: P_MODEL TYPE C AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK BLOCK2.

*&---------------------------------------------------------------------*
*       INITIALIZATION.
*----------------------------------------------------------------------*
INITIALIZATION.
  P_SEND = 'N'.
  S_ZDATE-SIGN = 'I'.
  S_ZDATE-OPTION = 'BT'.
  S_ZDATE-LOW = '6'.
  S_ZDATE-HIGH = '9999'.
  APPEND S_ZDATE.

*-----------------------------------------------------------------------
*      START-OF-SELECTION
*-----------------------------------------------------------------------
START-OF-SELECTION.

PERFORM GET_DATA.
  IF P_MODEL EQ 'X'.
    PERFORM EMAI_PO.
  ENDIF.
  PERFORM PRT_DATA.
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_DATA .

DATA: GT_LINES TYPE INT4.
  DATA: PO_MIN LIKE EKKO-EBELN.

"邮件地址基准日期                                     "added by willie 2020.05.12
  SELECT SINGLE *
         INTO WA_MAILDATE
         FROM ZMM27_MAILDATE
    .

SELECT A~EBELN
         A~AEDAT
         A~FRGKE
         A~ERNAM
         B~ZFLAG1
    INTO CORRESPONDING FIELDS OF TABLE GT_DATA
    FROM EKKO AS A LEFT JOIN ZMM27_MAILSEND AS B
                        ON A~EBELN EQ B~EBELN
   WHERE A~EBELN IN S_EBELN
     AND A~AEDAT IN S_AEDAT
     AND A~ERNAM IN S_ERNAM
     AND A~LOEKZ NE 'L'
     AND A~FRGKE EQ '1'
     AND A~LIFNR NOT LIKE '00008%'          "Added by Willie 2020.05.11
     .

DESCRIBE TABLE GT_DATA LINES GT_LINES.

IF GT_LINES EQ 0.
    MESSAGE '无满足查询条件的数据' TYPE 'E'.
  ENDIF.

"PO审批记录
  SELECT A~OBJECTID
         A~CHANGENR
         FROM CDPOS AS A INTO CORRESPONDING FIELDS OF TABLE GT_CDPOS
    FOR ALL ENTRIES IN GT_DATA
    WHERE A~OBJECTID EQ GT_DATA-EBELN
      AND A~OBJECTCLAS EQ 'EINKBELEG'
      AND A~TABNAME    EQ 'EKKO'
      AND A~FNAME      EQ 'FRGKE'
      AND A~VALUE_NEW  EQ '1'
      .

SORT GT_CDPOS BY OBJECTID CHANGENR DESCENDING.  "降序,将CHANGENR最新的排前

"获取审批记录中最新一条文档编号
  FIELD-SYMBOLS: <FS_DATA> LIKE LINE OF GT_DATA.
  LOOP AT GT_DATA ASSIGNING <FS_DATA> .
    READ TABLE GT_CDPOS WITH KEY OBJECTID = <FS_DATA>-EBELN BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_DATA>-CHANGENR = GT_CDPOS-CHANGENR.
    ENDIF.
  ENDLOOP.

"PO审批日期
  SELECT A~OBJECTID
         A~CHANGENR
         A~UDATE
         FROM CDHDR AS A
    INTO CORRESPONDING FIELDS OF TABLE GT_CDHDR
    FOR ALL ENTRIES IN GT_DATA
    WHERE A~OBJECTID EQ GT_DATA-EBELN
      AND A~CHANGENR EQ GT_DATA-CHANGENR
      AND A~OBJECTCLAS EQ 'EINKBELEG'
      .

SORT GT_CDHDR BY OBJECTID CHANGENR DESCENDING.

FIELD-SYMBOLS: <FS_TAB> LIKE LINE OF GT_DATA.
  LOOP AT GT_DATA ASSIGNING <FS_TAB> .
    READ TABLE GT_CDHDR WITH KEY OBJECTID = <FS_TAB>-EBELN
                                 CHANGENR = <FS_TAB>-CHANGENR
                                 BINARY SEARCH.
    IF SY-SUBRC = 0.
      <FS_TAB>-UDATE    = GT_CDHDR-UDATE.
      CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      EXPORTING
        I_DATE_FROM = <FS_TAB>-UDATE
        I_DATE_TO   = SY-DATUM
      IMPORTING
        E_DAYS      = <FS_TAB>-ZDATE.
    ELSE.
      CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      EXPORTING
        I_DATE_FROM = <FS_TAB>-AEDAT
        I_DATE_TO   = SY-DATUM
      IMPORTING
        E_DAYS      = <FS_TAB>-ZDATE.
    ENDIF.
  ENDLOOP.

IF P_SEND EQ 'Y'.
    DELETE GT_DATA WHERE ( ZFLAG1 NE 'Y' AND UDATE GT WA_MAILDATE-ZBSDT ).
  ELSEIF P_SEND EQ 'N'.
    DELETE GT_DATA WHERE ZFLAG1 EQ 'Y'
                      OR UDATE LE WA_MAILDATE-ZBSDT.
  ENDIF.

IF S_ZDATE IS NOT INITIAL.
     DELETE GT_DATA WHERE ZDATE NOT BETWEEN S_ZDATE-LOW AND S_ZDATE-HIGH.
  ENDIF.

GT_ERNAM[] = GT_DATA[].
  SORT GT_ERNAM BY ERNAM.
  DELETE ADJACENT DUPLICATES FROM GT_ERNAM COMPARING ERNAM.

SORT GT_DATA BY ZDATE.

ENDFORM.                    " GET_DATA

*&---------------------------------------------------------------------*
*&      Form  USER_COMMAND
*&---------------------------------------------------------------------*
*       Status bar Buttons
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                  RS_SELFIELD TYPE SLIS_SELFIELD.
  CASE R_UCOMM.
    WHEN 'EXIT'.
      LEAVE TO SCREEN 0 .
    WHEN 'EMAIL'.
      PERFORM EMAI_PO.
  ENDCASE.
ENDFORM.                    "user_command
*&---------------------------------------------------------------------*
*&      Form  FRM_STATUS_SET
*&---------------------------------------------------------------------*
*       Status Bar Write
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB.           "#EC *
  SET PF-STATUS 'STATUS1'.
ENDFORM.                 "f01_alv_event_pf_status_set

*&---------------------------------------------------------------------*
*&      Form  PRT_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM PRT_DATA .
*定义输出报表表头
  PERFORM FIELDCAT_INIT_DETAILS USING GT_FIELDCAT[].
  PERFORM LAYOUT_BUILD CHANGING G_REPID
                                GS_LAYOUT.

*ALV输出
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_BYPASSING_BUFFER       = 'X'
      I_BUFFER_ACTIVE          = 'X'
      I_CALLBACK_PROGRAM       = G_REPID
      I_CALLBACK_PF_STATUS_SET = 'STATUS_SET'
      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
      IS_LAYOUT                = GS_LAYOUT
      IT_FIELDCAT              = GT_FIELDCAT[]
    TABLES
      T_OUTTAB                 = GT_DATA[].

ENDFORM.                    " PRT_DATA

*&---------------------------------------------------------------------*
*&      Form  FIELDCAT_INIT_DETAILS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GT_FIELDCAT[]  text
*----------------------------------------------------------------------*
FORM FIELDCAT_INIT_DETAILS  USING P_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
  DATA: FIELDCAT TYPE SLIS_FIELDCAT_ALV.
  HEAD 'EBELN' '采购凭证号' '11' 'EBELN' 'EKKO' '' ''.
  HEAD 'CHANGENR' '更改编号' '10' 'CHANGENR' 'CDPOS' '' ''.
  HEAD 'UDATE' '最后审核日期' '8' 'UDATE' 'CDHDR' '' ''.
  HEAD 'FRGKE' '审核状态' '1' 'FRGKE' 'EKKO' '' ''.
  HEAD 'AEDAT' '创建日期' '8' 'AEDAT' 'EKKO' '' ''.
  HEAD 'ERNAM' '申请人' '17' 'ERNAM' 'EKKO' '' ''.
  HEAD 'ZFLAG1' '发送标识' '1' 'ZFLAG1' 'ZMM27_MAILSEND' '' ''.
  HEAD 'ZDATE' '间隔日期' '5' '' '' '' ''.
ENDFORM.                    " FIELDCAT_INIT_DETAILS
*&---------------------------------------------------------------------*
*&      Form  LAYOUT_BUILD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_G_REPID  text
*      <--P_GS_LAYOUT  text
*----------------------------------------------------------------------*
FORM LAYOUT_BUILD CHANGING T_REPID LIKE SY-REPID
                           TS_LAYOUT TYPE SLIS_LAYOUT_ALV.
  T_REPID                 = SY-REPID.           "程序为当前程序
  TS_LAYOUT-ZEBRA         = 'X'.
  TS_LAYOUT-DETAIL_POPUP  = 'X'.                "是否弹出详细信息窗口
  TS_LAYOUT-COLWIDTH_OPTIMIZE     = 'X'.        "优化列宽选项是否设置
  TS_LAYOUT-DETAIL_INITIAL_LINES  = 'X'.
ENDFORM.                    "LAYOUT_BUILD
*&---------------------------------------------------------------------*
*&      Form  EMAI_PO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM EMAI_PO .
* Internal Table declarations
  DATA: I_RECEIVERS TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,
* Objects to send mail.
        I_OBJPACK   LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
        I_OBJTXT    LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
        I_OBJBIN    LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
        I_RECLIST   LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,
* Work Area declarations
        WA_OBJHEAD  TYPE SOLI_TAB,
        WA_DOC_CHNG TYPE SODOCCHGI1.

DATA:LT_OBJECT_ID LIKE SOFOLENTI1-OBJECT_ID.

DATA: L_MSG  TYPE STRING.

DATA: V_LINES_TXT TYPE I.

DATA: L_SENDER TYPE SO_REC_EXT.
  DATA: ST_CONTENTS  TYPE SOLISTI1 OCCURS 0 WITH HEADER LINE.
  DATA: L_WARN TYPE SOLISTI1.

DATA: I_SENDER  TYPE  AD_SMTPADR,
        I_CCNAM   TYPE  AD_SMTPADR,
        I_TONAM   TYPE  AD_SMTPADR.

LOOP AT GT_ERNAM.
    REFRESH: I_RECLIST,I_OBJTXT,
         I_OBJBIN,I_OBJPACK.

REFRESH: GT_SEND,ST_CONTENTS.
    CLEAR:L_WARN.

GT_SEND[] = GT_DATA[].
    DELETE GT_SEND WHERE ERNAM NE GT_ERNAM-ERNAM.

IF GT_SEND[] IS INITIAL.
      CONTINUE.
    ENDIF.

"CC
    SELECT SINGLE EMAIL INTO I_CCNAM
      FROM ZMM27_MAILADR
      WHERE MTYPE EQ 'MH'.

"SENDER
    SELECT SINGLE EMAIL INTO I_SENDER
             FROM ZMM27_MAILADR
            WHERE VERKF EQ GT_ERNAM-ERNAM
              AND MTYPE EQ 'ME'.
    IF SY-SUBRC NE 0.
      MOVE I_CCNAM TO I_SENDER.

CONCATENATE '<font color="red">Warning: The email address of &nbsp'
                  GT_ERNAM-ERNAM
                  '&nbsp is not maintained!'
          INTO L_WARN.
    ENDIF.
    I_TONAM = I_SENDER.

CONCATENATE I_SENDER '@unisoc.com'
          INTO L_SENDER.

LOOP AT GT_SEND.
      CONCATENATE
        `<tr> <td width=150>` GT_SEND-EBELN
        `</td><td width=150>` GT_SEND-AEDAT+0(4) '-' GT_SEND-AEDAT+4(2) '-' GT_SEND-AEDAT+6(2)
        `</td><td width=150>` GT_SEND-ERNAM
        `</td></tr>`
        INTO ST_CONTENTS .
      APPEND ST_CONTENTS.
    ENDLOOP.

APPEND `<HTML> <font face="verdana" color="Black"> <BODY> Dear,` TO I_OBJTXT.
    APPEND `<blockquote><font face="verdana">The following PO you created has not been emailed to the supplier,` TO I_OBJTXT.
    APPEND `<meta http-equiv=Content-Type content` TO I_OBJTXT.
    APPEND `="text/html; charset=utf-8">` TO I_OBJTXT.

APPEND `<p><TABLE border=1 width= 450 ` TO I_OBJTXT.
    APPEND `style='border-collapse:collapse;font-size:11pt;color:#000000'>` TO I_OBJTXT.
    APPEND `<TR style= 'background:#920784'> ` TO I_OBJTXT.
    APPEND `<Th>采购订单</Th>` TO I_OBJTXT.
    APPEND `<Th>创建日期</Th>`  TO I_OBJTXT.
    APPEND `<Th>创建人</Th>`  TO I_OBJTXT.
    APPEND `</TR><center>` TO I_OBJTXT.

APPEND LINES OF ST_CONTENTS TO I_OBJTXT.

APPEND '</center></TABLE></p>' TO I_OBJTXT.
    IF L_WARN IS NOT INITIAL.
      APPEND L_WARN TO I_OBJTXT.
    ENDIF.

APPEND '<p><font face="verdana" color="Black">Pls kindly check.' TO I_OBJTXT.
    APPEND '<br />Thank you!</p></blockquote>' TO I_OBJTXT.
    APPEND INITIAL LINE TO I_OBJTXT.
    APPEND '</BODY> </HTML>' TO I_OBJTXT.

DESCRIBE TABLE I_OBJTXT LINES V_LINES_TXT.
    READ TABLE I_OBJTXT INDEX V_LINES_TXT.
    WA_DOC_CHNG-OBJ_NAME = 'SEND Email'.
    WA_DOC_CHNG-EXPIRY_DAT = SY-DATUM + 2.
    WA_DOC_CHNG-OBJ_DESCR = 'PO未发邮件提醒'.

WA_DOC_CHNG-SENSITIVTY = 'F'.
    WA_DOC_CHNG-DOC_SIZE = V_LINES_TXT * 255.

I_OBJPACK-TRANSF_BIN = SPACE.
    I_OBJPACK-HEAD_START = 1.
    I_OBJPACK-HEAD_NUM = 0.
    I_OBJPACK-BODY_START = 1.
    DESCRIBE TABLE I_OBJTXT LINES I_OBJPACK-BODY_NUM.
    I_OBJPACK-DOC_TYPE = 'HTML'.
    APPEND I_OBJPACK.

"TO
    CLEAR I_RECLIST.
    CONCATENATE I_TONAM '@unisoc.com'
          INTO I_RECLIST-RECEIVER.
    I_RECLIST-REC_TYPE = 'U'.
    APPEND I_RECLIST.CLEAR I_RECLIST.

"CC
    CLEAR I_RECLIST.
    CONCATENATE I_CCNAM '@unisoc.com'
          INTO I_RECLIST-RECEIVER.
    I_RECLIST-COPY     = 'X'.
    I_RECLIST-REC_TYPE = 'U'.
    APPEND I_RECLIST.CLEAR I_RECLIST.

CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
      EXPORTING
        DOCUMENT_DATA              = WA_DOC_CHNG
        PUT_IN_OUTBOX              = 'X'
        SENDER_ADDRESS             = L_SENDER
        SENDER_ADDRESS_TYPE        = 'SMTP'
        COMMIT_WORK                = 'X'
      IMPORTING
        NEW_OBJECT_ID              = LT_OBJECT_ID
      TABLES
        PACKING_LIST               = I_OBJPACK
        OBJECT_HEADER              = WA_OBJHEAD
        CONTENTS_BIN               = I_OBJBIN
        CONTENTS_TXT               = I_OBJTXT
        RECEIVERS                  = I_RECLIST
      EXCEPTIONS
        TOO_MANY_RECEIVERS         = 1
        DOCUMENT_NOT_SENT          = 2
        DOCUMENT_TYPE_NOT_EXIST    = 3
        OPERATION_NO_AUTHORIZATION = 4
        PARAMETER_ERROR            = 5
        X_ERROR                    = 6
        ENQUEUE_ERROR              = 7
        OTHERS                     = 8.

IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ELSE.
      MOVE '邮件已送至发送队列!' TO L_MSG.
    ENDIF.
  ENDLOOP.

IF L_MSG IS NOT INITIAL.
    MESSAGE L_MSG TYPE  'S'.
  ENDIF.

ENDFORM.                    " EMAI_PO

注意:通过以上代码即可将使用HTML设计好的邮件送到SAP邮件发送队列。后续只需要basis配置好STMP邮件发送功能即可定时推送出邮件队列中的待发邮件。

SAP 发送外部邮件(增加到邮件队列)相关推荐

  1. java 发送图片邮件_JavaMail邮件发送-为你的邮件增加背景音乐和背景图片

    先搞一个增加背景图片 首先要准备图片,这个图片可以是本地的也可以是远程的 如果你使用本地的,那么会有一些问题,稍后再说,大家也帮忙给看看问题 如果是使用了远程,那很简单,就是发送一个HTML格式的邮件 ...

  2. linux 发送外部邮件

    原始链接 http://www.51xpage.com/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86/2015/12/10/dao-ting-tu-shu ...

  3. 程序控制发送文件到邮箱_Intouch邮件发送的真实案例(一),不可多得的技术尝试...

    发送邮件对于Intouch来说很少被用到,只有在特殊时候客户要求才会使用,更多的只是功能上的点缀.并且此功能也非常隐蔽,一般是不会被人所知的功能,对于希望了解学习更多关于Intouch技术的同行来说, ...

  4. python进行邮件发送以及django中利用邮件注册激活功能

    协议 SMTP协议 SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议.它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮 ...

  5. 用simple mapi 发送一个带附件的邮件

    使用 MAPI 实现邮件发送 原 作:deltacat,修改中 最后更新:2004.09.16 版权声明:随意转载,敬请保持文档及说明完整性 关键字: VC 邮件发送 MAPI 一.简述 实际上,本文 ...

  6. 邮件发送--局域网中配置James邮件服务器(二)

    邮件服务器软件有很多种,这里为大家介绍James邮件服务器的搭建与使用.James是属于Apache的一个开源项目,是Apache组织构建的一个可移植的.安全的.100%纯Java实现的企业级邮件服务 ...

  7. java 邮件发送_Java 基于JavaMail的邮件发送

    http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/d ...

  8. html 表格_UiPath之发送正文包含表格的邮件(通过Html实现表格)

    我们在日常工作中,经常需要把整理好的表格,复制粘贴到邮件的正文中,那么怎样通过UiPath来实现带有表格内容的邮件正文. 本次内容所要用到的Activities有: ReadRange---获取数据源 ...

  9. java 发邮件_java实现邮件的发送

    文章所用jar文件 链接:https://pan.baidu.com/s/1YaxhdkaCTC4TUDL-y9-ASQ 提取码:30ow 程序入口,发送工具类 package test; impor ...

最新文章

  1. linux命令行运行c程序,如何在Linux中编写和运行C程序
  2. 编译可在Android上运行的qemu user mode
  3. vba 单元格 一系例操作
  4. JQuery + jquery插件
  5. centos 下安装man手册
  6. 《程序员开发心理学》阅读笔记一
  7. PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置
  8. 怎么实现语音识别_手机语音识别怎么设置
  9. UVa 11572 Unique snowflakes【滑动窗口】
  10. 方立勋JavaWeb学习地址
  11. 【移动端】企业微信移动app测试实战
  12. 阿里云服务器+N2N搭建远程办公环境
  13. 编写高效的JAvascript——Nicholas C. Zakas(读书笔记)
  14. 与64位版本的Windows不兼容,masm运行不了
  15. 自然语言处理系列五》新词发现与短语提取》短语提取
  16. [5机器学习]python计算机视觉应用-图片内容识别
  17. 主键约束、主键自增约束、唯一约束、非空约束、外键约束
  18. 如何创建phpinfo查看php信息?
  19. Java创建文件夹及文件
  20. (轉貼) 大年三十整理的asp.net资料! (.NET) (ASP.NET)

热门文章

  1. MySQL—运算符详解(算术、比较、逻辑、范围运算符与集合运算符 模糊查询 NULL值运算与null值判断 位运算符)
  2. Python-中文编码
  3. 51nod_1265 四点共面
  4. python写入文件没反应_python写入文本 如何用python将变量及其值写入文本文件?...
  5. 水冒泡了几度_水开了为什么会冒泡?
  6. 基于Wallpaper Engine的html插件罗盘时钟实现及简易桌面替换
  7. Oracle觸發器調用procedure寄信
  8. 【无标题】 6UVPX 总线架构的高性能实时信号处理
  9. 处理ERP的EXCEL报表数字长度超15位导致精度丢失的问题
  10. 更改vim配色以及其他设置