快捷搜索:  汽车  科技

vbs 邮件签名(Anywhere中使用VBS发送邮件)

vbs 邮件签名(Anywhere中使用VBS发送邮件)在Automation Anywhere的Bot应用商店中,有很多封装好的Task/Metabots,如下图,可以通过搜索找到自己想要的Bots。缺点:在AA中也有相应的Command,如 "Send Email",此命令是通过SMTP发送邮件,需要在客户端中配置SMTP服务器,这里使用163邮箱进行示例,配置如下:打开AAE客户端,点击Tools->Options->Email settings脚本如下:结果:

在RPA实施中,邮件的自动化是必不可少的一部分内容。通过邮件,可以实现人与机器人之间的信息互通。

一、发送邮件的方式类型

有关发送邮件,有多种多样的方式。在开始之前,先了解一下在AA中发送邮件都有哪些实现方式。

1. 模拟人工操作

作为RPA本质的一种方式就是模拟人的操作,所以可以通过AA打开邮箱,创建邮件,编写邮件内容,添加附件等一系列操作来完成,此方法中,主要使用到AA的Object Clone命令,脚本如下截图。

vbs 邮件签名(Anywhere中使用VBS发送邮件)(1)

缺点: 此方法执行效率低,易出错,针对于不同版本的outlook或其他邮件客户端,需要适配并修改代码。

2. 自带Command

在AA中也有相应的Command,如 "Send Email",此命令是通过SMTP发送邮件,需要在客户端中配置SMTP服务器,这里使用163邮箱进行示例,配置如下:打开AAE客户端,点击Tools->Options->Email settings

vbs 邮件签名(Anywhere中使用VBS发送邮件)(2)

脚本如下:

vbs 邮件签名(Anywhere中使用VBS发送邮件)(3)

vbs 邮件签名(Anywhere中使用VBS发送邮件)(4)

结果:

vbs 邮件签名(Anywhere中使用VBS发送邮件)(5)

缺点:

  • 命令中的的Message类型有两种方式,一种纯文本格式,一种是富文本格式,所以不能使用HTML的方式来发送消息,这种就不能实现客户定制化内容的需求。
  • Message中传入参数,邮件内容只能以文本格式显示,不能显示带格式的内容。

3. 利用好BotStore

在Automation Anywhere的Bot应用商店中,有很多封装好的Task/Metabots,如下图,可以通过搜索找到自己想要的Bots。

vbs 邮件签名(Anywhere中使用VBS发送邮件)(6)

4. 其他方式

除了以上几种方式,可以使用其他语言来实现邮件发送的功能。如用C#编写,然后打包成dll,之后在Metabot中进行方法的调用;或者使用vbs脚本,可以用脚本调用outlook发送,或者使用windows自带的CDO.Message对象来发送。

二、使用VBS发送SMTP邮件

1. 起因

  • 客户要求不能使用dll,所以不能使用C#实现(C#发送邮件的功能已经实现,代码可以在知识星球中下载,链接:https://t.zsxq.com/zjUZr7i)
  • 模拟人手工操作,执行效率比较低,易出错
  • JavaScript实现发送邮件,需要用到外部的引用,也不方便调试,并且在AA中调用的时候会出现各种奇葩问题
  • Botstore中也都是基于C#开发,封装成dll的形式,所以也不能使用。

所以最终采用了使用VBS调用windows自带的CDO.Message对象来发送SMTP邮件,这样可以脱离outlook组件或者相关dll,也不需要其他外部的依赖,只要是windows系统都可以直接进行调试。

调试VBS方法:打开cmd,运行wscript C:\RPA\SendSMTPEmail.vbs进行调试

2. 思路及代码说明

AA中调用VBS脚本,在传入参数时候,如果参数的值中存在空格,则会出现传参错误的异常(因为Run Script命令传参是以空格作为分隔符的),也可以参考知识星球中这篇文章。所以在使用VBS脚本发送邮件时,需要使用AA脚本动态生成VBS脚本文件,然后发送邮件。

首先编写并调试VBS脚本,脚本代码如下:

vbs 邮件签名(Anywhere中使用VBS发送邮件)(7)

在完成VBS代码调试之后,需要将其中的一些变量替换掉,之后编写AA脚本,在AA脚本中,需要将上面的VBS代码通过Log To File的命令写入到临时的文件中,然后使用Run Script命令执行临时的VBS脚本。(文件可以在知识星球中下载,链接:https://t.zsxq.com/E2rrFu7)

vbs 邮件签名(Anywhere中使用VBS发送邮件)(8)

3. AA参数说明

在Metabot中的参数有如下:

vbs 邮件签名(Anywhere中使用VBS发送邮件)(9)

vbs 邮件签名(Anywhere中使用VBS发送邮件)(10)

四、总结

在AA中发送邮件的方式多种多样,用户可以依据自己的实际情况,选择合适的方法以提高开发效率和机器人的执行效率。在选择使用VBS/JavaScript脚本方式执行函数或者功能时,可以通过动态生成脚本的方式来避免一些传参的异常。

文中涉及到的代码都可以在知识星球中下载,链接:https://t.zsxq.com/E2rrFu7

猜您喜欢: