Loading

利用Windows系统自带VBS编程实现邮件定时给指定人发送邮件

1.新建记事本sendmail.txt,然后在记事本中添加如下代码,最后将文件扩展名.txt改为.vbs(系统默认隐藏扩展名,百度先将文件扩展名调为显示状态)

sendmail.vbs

function Send_mail(To_Account,Send_Topic,Send_Body,Send_Attachment)
You_Account ="oliuzhiyuo@163.com" 
You_Password="password"            
Set Email       = CreateObject("CDO.Message")                       '发件人
Email.From      = You_Account
Email.To        = To_Account                                        '收件人
Email.Subject   = Send_Topic                                        '邮件主题
Email.Textbody  = Send_Body                                         '邮件内容
If Send_Attachment <> "" Then                                       '邮件附件
Email.AddAttachment Send_Attachment                                 
End If
You_ID   = Split(You_Account, "@", -1, vbTextCompare)               '帐号和服务器分离
MS_Space = "http://schemas.microsoft.com/cdo/configuration/"        '必要
With Email.Configuration.Fields
.Item(MS_Space&"sendusing")         = 2                             '发信端口
.Item(MS_Space&"smtpserver")        = "smtp."&You_ID(1)             'SMTP服务器地址
.Item(MS_Space&"smtpserverport")    = 465                           'SMTP服务器端口
.Item(MS_Space&"smtpusessl")        = true                          'SMTP服务器是否使用了SSL
.Item(MS_Space&"smtpauthenticate")  = 1                             '认证方式basec
.Item(MS_Space&"sendusername")      = You_ID(0)                     '发件帐号
.Item(MS_Space&"sendpassword")      = You_Password                  '发件密码
.Update
End With
Email.Send                                                          '发送邮件
Set Email=Nothing                                                   '关闭组件
Send_Mail=True                                                      '如果没有任何错误信息,则表示发送成功,否则发送失败 
If Err Then 
Err.Clear 
Send_Mail=False 
End If 
End Function


'调用函数发送带附件的邮件 Send_Mail(收件人,标题,正文,附件)
If Send_Mail("oliuzhiyuo@163.com","toplic","测试test","C:\Users\ZhiYuLiu\Desktop\test\t.txt")=True Then    
Wscript.Echo "successful"
Else
Wscript.Echo "faild"
End If

2.登录自己的网页邮箱,在设置中开启SMTP服务,上述代码例子163邮箱测试能正常发送,其他邮箱可能需要更改服务器端口或其他认证方式

3.填写完自己邮箱密码和收件人信息后,保存文件,双击该文件,弹出“successful”信息,则去登录邮箱查看,是否收到了自己的邮件,经测试,163邮箱按上述信息可以正常使用,其他邮箱自测,基本都差不多

 

4.如果想让该vbs脚本实现定时发送邮件,可以用windows自带的任务计划程序,将该脚本通过任务计划定时启动,具体方法见:

Windows通过任务计划程序定时执行自定义脚本程序

posted @ 2021-07-19 16:14  网格像素技术  阅读(1003)  评论(0编辑  收藏  举报