利用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 @   空间像素  阅读(1056)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示