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-错误The type BookServiceImpl must implement the inherited abstract method

    错误原因 :是因为class继承了其他的类,没有导入过来,选择add unimplemented methods进行解决

  2. Eclipse导入GitLab中指定分支的项目

    一.如果主分支丢失,是否可以恢复其他分支? 答案是可以的,下面我们就拿恢复分支publish-2018-6-5来说明问题,最终实现把分支publish-2018-6-5还原成项目放到Eclipse中 ...

  3. (转)【Unity Shaders】Alpha Test和Alpha Blending

    转自:http://blog.csdn.net/candycat1992/article/details/41599167 写在前面 关于alpha的问题一直是个比较容易摸不清头脑的事情,尤其是涉及到 ...

  4. 【Python】列表(数组)的引用和拷贝

    # Python里对象赋值传递的引用 arr=[1,2,3,4,5] newArr=arr arr[1]=9 print('arr='+str(arr)) print('newArr='+str(ne ...

  5. spring 判断非空提示断言

    org.springframework.util.Assert Assert.notNull(object, "Bean object must not be null");

  6. windows下根据进程ID强制杀死进程

    [windows 进程ID PID]NTSD命令详解 1. ntsd -c q -p PID 2. ntsd -c q -pn ImageName 比如:ntsd -c q -pn qq.exe -c ...

  7. C#.NET常见问题(FAQ)-控制台程序如何做弹窗

    最简单的弹窗,只要引用System.Windows.Forms,就可以使用WinForm的弹窗   如果要弹出是/否的选择对话框,则可以拷贝下面的代码 DialogResult dr = Messag ...

  8. iOS 开发者证书总结 in-house

    iOS 证书分两种类型. 第一种为$99美元的,这种账号有个人和公司的区别,公司账号能创建多个子账号,但个人的不能.这种账号可以用来上传app store 第二种为¥299美元的,这种账号只能用于企业 ...

  9. jQuery的md5加密插件及其它js md5加密代码

    /** * jQuery MD5 hash algorithm function * * <code> * Calculate the md5 hash of a String * Str ...

  10. 12 个非常实用的 jQuery 代码片段

    jQuery是一个非常流行而且实用的JavaScript前端框架,本文并不是介绍jQuery的特效动画,而是分享一些平时积累的12个jQuery实用代码片段,希望对你有所帮助. 导航菜单背景切换效果 ...