vbs代码发送邮件,电脑开机后向手机发短信

时间:2021-11-01 00:36:51

如果你想要对你的电脑有所把控,希望掌握电脑开机的时间,可以用此技巧,每次开机即会向你的手机发送短信。

电脑开机发短信的步骤是:

① 在139邮箱开启收到邮件发短信的功能

② 编写vbs脚本发送邮件到139邮箱

③ 在PC的“任务计划”添加开机项目调用vbs脚本

本文按照这3步详细讲解,要求电脑能上外网,经试验在WIN7和WIN10下可用。

第一步,注册139邮箱,开启邮件短信提示

进入 mail.139.com 或 https://mail.10086.cn/ ,用手机号注册邮箱,进入后点右上角齿轮 → 常规设置,点左侧的“邮件设置”,默认就处于“短信提醒”选项卡,在这里指定短信接收日期、接收时间,也可以指定收到哪些邮件才会发送提醒:

vbs代码发送邮件,电脑开机后向手机发短信

点击左侧账户与安全 → 邮箱协议设置,可见SMTP服务器域名和端口号,之后要用到:

vbs代码发送邮件,电脑开机后向手机发短信

第二步,编写发送邮件的vbs脚本,将邮件发送至139邮箱

发邮件.vbs 如下:

NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = "18388888888@139.com" ' 发信人地址
Email.to = "18388888888@139.com" ' 收信人地址(任何邮箱均可,但要有发短信功能)
Email.Subject = "=?UTF-8?B?5oiR55qEUEPlkK/liqjml7bpl7TmmK/vvJo=?="+cstr(now()) ' 详见下文
Email.Textbody = "PC" ' 邮件正文
With Email.Configuration.Fields
.Item(NameSpace&"sendusing")= 2
.Item(NameSpace&"smtpserver")= "smtp.139.com" ' 发信服务器
.Item(NameSpace&"smtpserverport")= 25 ' SMTP端口
.Item(NameSpace&"smtpauthenticate")= 1
.Item(NameSpace&"sendusername")= "18388888888"
.Item(NameSpace&"sendpassword")= " Password "
.update
End With
Email.Send
Set Emaill=Nothing

需要你修改的内容是:

第3、4行写你的139邮箱

第12、13行写你的用户名和邮箱登录密码

第5行是邮件标题,这是 BASE64 编码的汉字,编码方法是进入 https://tool.oschina.net/,点击 “BASE64编码解码”,在左侧填入汉字,右侧输出为BASE64编码,然后在编码前加=?UTF-8?B?,编码后加?=

现在双击这个vbs,如果邮箱收到了邮件,同时手机收到了短信,就表明发信代码无误!

第三步,在PC的“任务计划”添加开机项目调用vbs脚本

控制面板 → 管理工具 → 任务计划程序 → 创建基本任务,触发器设置为“计算机启动时”,也可以按照你的实际情况设置,比如“当前用户登录”:

vbs代码发送邮件,电脑开机后向手机发短信

注:vbs也可用由组策略调用,可以实现关机运行脚本。

双击该任务,点击“更改用户和组”,将执行该任务的账户改为SYSTEM,,配置改为2008R2,这样就不会出现任务执行时的黑框:

vbs代码发送邮件,电脑开机后向手机发短信

现在重启电脑,手机能收到短信了!

如果想要bat调用vbs,可以用如下语法:

: 这里写批处理语句
@wscript "D:\program\发邮件.vbs"
exit1.
2.
3.

排错:

如果收到错误提示:邮件无法发送到SMTP服务器。传输错误代码为 0x80040217,服务器响应为 not available,代码80040211:

vbs代码发送邮件,电脑开机后向手机发短信

可能是邮箱密码不对(用vbs里的密码登录邮箱试试),也可能是你选择的SMTP服务器已经不再提供服务,或者需要授权码/发件服务器需要认证。

其它方法:

如果PC没有联网,可以编写批处理把本次的开机时间写入本地文件。

① 建立目录:D:\qqdownload

② 编写批处理D:\qqdownload\pre.bat,把开机的日期和时间写文本文件D:\qqdownload\error.txt

::pre.bat
@echo %date% %time%>>D:\qqdownload\error.txt1.
2.

双击pre.bat,看看是否输出了日期时间到D:\qqdownload\error.txt。

③ 编写vbs脚本D:\qqdownload\wpsupdate.vbs,后台调用pre.bat,执行时不会在前台闪烁一个黑框,更加隐蔽。

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /c D:\qqdownload\pre.bat",vbhide

双击wpsupdate.vbs,看看是否输出了日期时间到D:\qqdownload\error.txt。

④ 按WIN+R,运行:shell:startup打开启动组,拖入wpsupdate.vbs

以后每次开机,都会把当前的日期和时间追加到日志文件D:\qqdownload\error.txt

也可以用Powershell命令查看上次开机时间:

强调:查看的是“上次”开机时间,而非本次开机时间。

按WIN+R,运行:powershell

运行命令显示上次开机时间:wmic path Win32_OperatingSystem get LastBootUpTime

最后,当一切配置妥当,删除浏览器历史记录,再删除本地历史记录:

vbs代码发送邮件,电脑开机后向手机发短信

vbs代码发送邮件,电脑开机后向手机发短信

vbs代码发送邮件,电脑开机后向手机发短信