在近期项目完成后,有遇到情况:类似于语音报警后,中控室人员未及时报告给我们造成了事件的危害升级,以及造成很不好的影响。针对这个情况特此添加语音报警后,自动发送邮件提醒,完善现有的报警机制。

1.函数编写(选自网友脚本)

Option Explicit
'需要引用  Microsoft CDO for Windows 2000 Library和 Microsoft ActiveX Data Objects 2.5 Library
Public Function SendMail(ByVal strFrom As String, _ByVal strTo As String, _ByVal strSubject As String, _ByVal strMailText As String, _Optional ByVal strCc As String = "") As BooleanOn Error GoTo ErrorHandler:Const cdoSendUsingMethod = _"http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = _"http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = _"http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout = _"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate = _"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName = _"http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = _"http://schemas.microsoft.com/cdo/configuration/sendpassword"Dim objConfig   As CDO.Configuration
Dim objMessage  As CDO.Message
Dim Fields      As ADODB.Fields' Get a handle on the config object and it's fields
Set objConfig = New CDO.Configuration
Set Fields = objConfig.Fields' Set config fields we care about
With Fields.Item(cdoSendUsingMethod) = cdoSendUsingPort.Item(cdoSMTPServer) = "邮件发送服务器地址" '"smtp.chinawiser.com".Item(cdoSMTPServerPort) = 25 '端口,默认为25.Item(cdoSMTPConnectionTimeout) = 30.Item(cdoSMTPAuthenticate) = cdoBasic.Item(cdoSendUserName) = "用户名" '"test@chinawiser.com".Item(cdoSendPassword) = "密码" '"test".Update
End WithSet objMessage = New CDO.Message 'Set objMessage.Configuration = objConfig'The Mail Cc
If IsNull(strCc) Then
ElseobjMessage.CC = strCc
End IfWith objMessage.To = strTo.From = strFrom  '"Display Name ".Subject = strSubject  '"SMTP Relay Test".TextBody = strMailText  '"SMTP Relay Test Sent @ " & Now().Send
End WithSet Fields = Nothing
Set objMessage = Nothing
Set objConfig = NothingExit Function
ErrorHandler:MsgBox "Error!" & vbCrLf & "ErrorNumber:" & vbCrLf & "Error Description:" & Err.DescriptionResume Next
End Function

2.运用语音触发

主要添加了一条使用sendmail函数脚本(其余不变)

Public Sub Sound(ByVal name As String, ByVal tt As String, ByVal sql As String)
On Error Resume Next
Dim workspace As Object
Set workspace = GetObject("", "Workspace.Application")
Dim tagvar As Object
Set tagvar = workspace.Documents("User").Page.FindObject("PicNumBer")
tagvar.Description = nameDim mail As String
mail = name + sql
Dim TOP As Integer
Dim LEFT As Integer
TOP = Int((50 * Rnd) + 1)
LEFT = Int((50 * Rnd) + 1)Dim StrD As String
Dim userid As String
Dim username As String
Dim groupname As String
System.FixGetUserInfo userid, username, groupname
StrD = Format(Now, "yyyy-mm-dd hh:mm:ss")
Set conODBC = New ADODB.Connection
conODBC.ConnectionString = "DSN=QPBZ;UID=sa;PWD=;"
conODBC.Open "QPBZ", "sa", ""
conODBC.Execute "insert into shijianjilu (DateTimee,mingcheng,neirong,operator) values ('" + StrD + "','" + name + "', '" + sql + "', '" + username + "')"
conODBC.Close
If SendMail("xxxx@163.com", "xxxxx@qq.com", "泵站", mail) = True Then
End If
openpicture tt, "", TOP, LEFT, 0, , NONE, "", TrueEnd Sub

3.结果测试

发送方:

接收方:

测试成功,这样就在远距离情况下,也能第一时间从手机邮件提醒中,查看故障情况,并及时处理。

接下来,准备将数据上阿里云,然后对接微信小程序,实现真正的报警推送机制。

转载于:https://www.cnblogs.com/cache-yuan/p/10104239.html

Intouch/ifix语音报警系统制作(4-自动发送邮件提醒)相关推荐

  1. Intouch/ifix语音报警系统制作(1-初步添加插件和简单使用)

    工控项目最近升级改造,需要使用Intouch/ifix提供一个语音报警功能.这个不像先前提供的单一的声音报警,业主方要求能详细的提供某某水泵或者是某某设备故障报警,这就要求我们这边对语音解析或者基础控 ...

  2. java使用JMail通过QQ邮件服务器实现自动发送邮件

    前言:项目开发的过程中,我们项目需要一个自动发送邮件提醒的小功能,于是简单的研究了一下java的JMail来实现自动发送邮件的功能.已被后期需要参考. 一.准备 实现的原理很简单:发送人 , 中转的邮 ...

  3. 2021-01-3 VBA利用企业邮箱自动发送邮件

    VBA利用企业邮箱自动发送邮件 1.应用场景 2.VBA生成PDF附件 3.企业邮箱设置发送账户 4.VBA利用企业邮箱发送邮件 利用Windows任务计划设置定时执行 小结 1.应用场景 所在企业提 ...

  4. 使用Excel和OutLook实现自动发送邮件

    参考我的资源: https://download.csdn.net/download/paul50060049/11805973 问题的产生 我们在平时工作中可能会遇到要批量发送邮件的工作,例如财务部 ...

  5. Python数据分析实战【六】:用Python实现自动发送邮件和发送钉钉消息【文末源码地址】

    目录 发送邮件源码 发送钉钉消息源码 源码地址 本文可以学习到以下内容: 使用requests库发送钉钉消息 使用email和smtplib库发送邮件 使用163邮箱服务,自动发送邮件及附件 发送邮件 ...

  6. 高效办公,如何利用Python自动发送邮件

    自动发送邮件 我们把报表做出来以后一般都是需要发给别人查看,对于一些每天需要发的报表或者是需要一次发送多份的报表,这个时候可以考虑借助Python来自动发送邮件. 使用邮箱的第一步 一般我们在使用QQ ...

  7. Selenium3自动化测试——23.自动发送邮件功能

    自动发送邮件是自动化测试项目的重要需求之一.发送邮件的协议,是简单邮件传输协议(SMTP). 1. Python自带的发送邮件功能 1.1 发送邮件正文 import smtplib from ema ...

  8. win服务器自动发邮件,windows关机前执行脚本设置与关机blat自动发送邮件脚本模板...

    windows关机前执行脚本设置与关机blat自动发送邮件脚本模板 发布时间:2020-07-25 02:21:24 来源:51CTO 阅读:3093 作者:nn1183 价值:实时掌握开关机记录: ...

  9. 自动发送邮件(整理版)

    菜鸟D在工作时,用户提到要给系统添加一个定时发送邮件的功能,这个菜鸟D没有写过,只是知道基本原理是怎么回事.根据我的想法:新开一个线程,线程中添加一个计时器,由计时器来完成定时的任务.至于发送邮件,写 ...

  10. python封装sql脚本 github_Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码...

    原标题:Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码 在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使 ...

最新文章

  1. python自动搜索爬取下载文件-python批量爬取下载抖音视频
  2. JS实现限制input上传文件的大小和格式
  3. Centos5.5安装使用Xen
  4. 对象的序列化与反序列化---IO学习笔记(四)
  5. python3单例模式
  6. 热点Key问题的发现与解决
  7. java的gc策略_Java的GC与内存分配策略
  8. 【优化算法】多目标水循环算法(MOWCA)【含Matlab源码 1433期】
  9. 人工智能肉搏战:商汤和旷世们的商业化征途
  10. CAD梦想画图中的“离散曲线命令”
  11. android 5.0 开启网卡 权限请求,Aurora Droid | F-Droid - Free and Open Source Android App Repository...
  12. 总有几位老师让你一生感激不尽----老师侯捷
  13. runC 严重漏洞,使用容器的快打补丁;辩论界人机大战,人类获胜
  14. 错误模块名称: KERNELBASE.dll解决方案
  15. 吊炸天的云原生,到底是个啥
  16. arduino测试ArduinoModbus库例程
  17. ios 自定义键盘的按键音效和震动效果
  18. joystick遥杆(PS遥杆) 的使用方法
  19. 重启随机游走(RWR)算法
  20. VMware workstation的三种网络模式

热门文章

  1. 太火了,这些牛逼的Java代码技巧,肯定能让你目瞪口呆!
  2. 19 个如此好玩有趣的 Linux 命令,你玩过几个呢?
  3. 运维工程师姓什么很重要!请别叫我“X工”
  4. 创业 7 年最痛教训
  5. 人与人之间需要最基本的信任
  6. C++变量/函数命名规范
  7. 部署hexo后github pages页面未更新或无法打开问题
  8. 【Java】Java-ShutDownHook-优雅关闭系统资源
  9. 使用终端shell命令批量改动一个文件下的全部文件的读写权限
  10. 常见数据库url和driver