VBS調用OUTLOOK發送郵件,windows計划任務定時拉起VBS調用OUTLOOK發送郵件


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計划任務本身也支持發送郵件,看下圖。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM