OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间。比如早上10点发一封11点后的延迟传递邮件,11点后成功发出,可邮件的发送时间显示还是10点而不是我想要的发送成功后的时间11点!所以想用vbs调用outlook发送邮件,配合windows计划任务设置定时启动。

vbs调用outlook发送邮件代码

以下test1.vbs、test2.vbs代码方式在windows7下测试了,都行:

test1.vbs

set   out=WScript.CreateObject("Outlook.Application")
Set oitem = out.CreateItem(olMailItem)
With oitem
.Subject ="这里是邮件主题"&now()
.To = "收信人@123.com"
.Body = "亲爱的XXX"&chr(13)&" AAAAAAAAAAAAAAAAAA."&chr(13)&"你亲爱的XXXXX"&chr(13)&MONTH(DATE())&"月"&day(DATE())&"日"
.Send
End With
set out=nothing
set oitem=nothing
MsgBox("邮件成功提交")

test2.vbs

'启动Outlook
Set out=WScript.CreateObject("Outlook.Application") '新建一份邮件
Set mailitem=out.CreateItem(0)
'设置邮件的主题
mailitem.SubJect="加班"
'设置邮件的正文
mailitem.Body="加班b"
'设置收件人
mailitem.To="test@163.com"
'增加附件
'mailitem.Attachments.Add("附件.txt")
mailitem.Send
Set mailitem=Nothing Set out=Nothing

读取收件人、发件人、邮件内容配置文件方式,没测试过,代码记录下:

ForReading=1
TristateFalse=0
'建立FSO对象
Set fs=CreateObject("Scripting.FileSystemObject")
'打开存放内容的文件
Set file=fs.OpenTextFile("内容.txt",ForReading,TristateFalse)
'读取全部内容
detail=file.ReadAll
Set file=Nothing
'打开存放收件人地址的文件
Set file=fs.OpenTextFile("收件人.txt",ForReading,TristateFalse)
'启动Outlook
Set out=WScript.CreateObject("Outlook.Application")
'按照收件人地址文件种的内容群发邮件
Do While file.aAtEndOfLine<>True
'读取一个收件人地址
manto=file.ReadLine
'新建一份邮件
Set mailitem=out.CreateItem(0)
'设置邮件的主题
mailitem.SubJect="主题内容"
'设置邮件的正文
mailitem.Body=detail
'设置收件人
mailitem.To=manto
'增加附件
mailitem.Attachments.Add("附件.txt")
mailitem.Send
Set mailitem=Nothing
Loop
Set fs=Nothing
Set out=Nothing

  

最后windows计划任务本身也支持发送邮件,看下图。

VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件的更多相关文章

  1. Windows系统使用vbs脚本或bat脚本强制杀死指定所有进程 vbs实现循环持续写入内容到vbs打开开的记事本 使用vbs、bat添加windows计划任务 使用cmd schtasks命令添加windows计划任务

    以下脚本windows7下成功运行过,脚本也可以windows计划任务程序一起组合使用 新建一个记事本文档粘贴下面代码后将新建的记事本文档重命名下面对应的脚本名就能使用了: 添加windows计划任务 ...

  2. XP、Windows7下自动关机vbs脚本,使用windows计划任务+vbs脚本在XP、Windows7下实现定时自动关机

    VBScript(Microsoft Visual Basic Script Edition).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是 ...

  3. windows计划任务定时运行synctoy的坑

    每次设置好synctoy之后,需要让synctoy运行一次,windows的计划任务才能成功执行,如果变更了synctoy的设置,而没有让synctoy成功执行过,windows计划任务将执行失败,坑 ...

  4. 不需要密码的windows计划任务设置

    使用windows计划任务定时做些事情,确实非常方便,但创建任务时老是需要设置密码,否则在执行任务时会报80070005的系统错误导致任务无法执行. 有时windows没设密码或当账户修改密码就必须修 ...

  5. webapi + windows计划 + mshta 实现定时执行任务

    当然,实现定时任务有更好的操作方式,比如方式一:asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任务管理的平台,使用CronTrigger做定时触发, ...

  6. 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本

    最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...

  7. Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行

    Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行 2016年01月03日 17:36:00 持之以恒 阅读数:5520 标签: windows定时任务.b ...

  8. windows server 2008通过任务计划程序定时访问网站

    1.新一个.bat文件,如: @echo offstart 网址exit 2.打windows server 2008,新建任务计划程序定时访问任务

  9. asp.net基于windows服务实现定时发送邮件的方法

    本文实例讲述了asp.net基于windows服务实现定时发送邮件的方法.分享给大家供大家参考,具体如下: //定义组件 private System.Timers.Timer time; publi ...

随机推荐

  1. Java try-catch-finally 返回值

    1.只有 try-catch 的情况下,如果不发生异常,则会返回  try 中的 return ; 如果发生异常,则会返回  catch 中的  return, try 中的 return 被盖掉; ...

  2. Linq-批量删除方法

    linq中批量删除用DeleteAllOnSubmit,里面的参数是数据集 传入某要删除的ID列表,使用对象的Contains方法与数据库中值比较,相同就删除. //批量删除 public void ...

  3. ImageLoader初始化以及调用

    1.首先在当前程序的Application中调用ImageLoader的初始化init()方法 [java] view plain copy private void initImageLoader( ...

  4. LCX端口内网映射转发

    这几天在渗透一家奶茶店的时候, 使用溢出攻击获得了奶茶店shell, 截屏以后发现该电脑有安装sqlserver, 但是数据库无法远程连接, 所以我决定使用端口映射工具突破端口连接限制: 我的机器地址 ...

  5. 使用Chrome保存网页为mht文件

    一直在使用chrome浏览器,但由于需要将部分网页保存为mht文件,却发现chrome默认不支持.chrome浏览器默认支持2种:单独的html文件,全部: 万能的chrome怎么可能保存不了mht? ...

  6. Linux清理Buffer/Cache内存空间让系统变流畅

    释放缓存区内存的方法    a)清理pagecache(页面缓存) # echo 1 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.drop_ ...

  7. C++ 第九课 标准c数学函数

    abs() 求绝对值 acos() 求反余弦 asin() 求反正弦 atan() 求反正切 atan2() 求反正切,按符号判定象限 ceil() 求不小于某值的最小整数 (求上界) cos() 求 ...

  8. 2016 博客导读总结 &amp; 个人感悟

    此文着笔之时.2017已经在眼前了.预计等我写完,2017已经到了. 二次编辑于2017年1月1日早11点. 关于2016的感悟.十二月初就想写,当时认为是有点太早了,只是却思绪如泉涌. 且那时候才刚 ...

  9. Rabbit mq订阅方式获取消息并可设置持久化

    Rabbit 通过方式获取消息:订阅方式事实上是向queue注冊consumer,通过rpc向queue server发送注冊consumer的消息.rabbitMQ Server在收到消息后,依据消 ...

  10. PHP如何发送邮件

    例如使用163邮箱 SMTP,Simple Mail Transfer Protocol,简单邮件传输协议 保证我们的邮件服务器开启了SMTP服务 设置授权码   使用PHPMailer类发送邮件 1 ...