Windows开机自动发送邮件
|字数总计:719|阅读时长:2分钟|阅读量:11
最近有一个场景需要监控家里的电脑的开机情况,远程操作开机并启动一些服务,
需要知道开机状态。实现开机之后自动发送邮件通知。(七月更新增加:采用Windows任务计划完成开机发送邮件,高效快捷)
网上有很多大神都是直接自己手撸代码,实现一个Windows服务,或者VB写的,过于专业。
小白只想偷懒,于是找到了一个工具 Blat官网 可以直接实现邮件功能
1. 首先下载Blat
工具下载地址 https://sourceforge.net/projects/blat/files/ 。解压放到C盘创建的全英文目录下

2. 创建bat文件
在当前目录新建一个 send.bat 文件,因为电脑开机连接网络需要时间,所以发送20次ping做延迟发送
可以根据自己的实际网络情况调整, C:\quickStart\blat3222\full\blat.exe
替换成你自己的路径
填入以下内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| ::chcp 65001 设置编码,防止中文乱码 ::最后加入 pause 可显示窗口用于排查问题,可删除 chcp 65001
@echo off ping www.baidu.com -n 20 f:
set s="%time% %computername% 开机" rem ----邮件内容----- set body="%date% %time% %computername% %username% 开机" rem ----收件邮箱----- set t=xxx@qq.com rem ----发件邮箱----- set f=xxx@163.com rem ----邮箱秘钥----- set pw=xxx rem ----执行发送----- C:\quickStart\blat3222\full\blat.exe -body %body% -s %s% -t %t% -server smtp.163.com -f %f% -u %f% -pw %pw% ::pause
|
配置说明
- %date% 会显示为电脑日期
- %time% 会显示为电脑时间
- %computername% 会显示为电脑名称
- %username% 会显示为电脑用户名
- server
参数 如果用QQ邮箱发送填 smtp.qq.com;163邮箱发送填smtp.163.com
3. 测试运行
双击send.bat即可触发运行

收到邮件

4. 设置自启发送
方法一:配置window任务计划程序(开机就触发,推荐)
找到任务计划程序
。创建一个文件夹,然后右键 创建基本任务
。输入任务名称(随意名称)




脚本选择创建好的send.bat

勾选 打开此任务属性对话框

配置不管用户是否登录都要运行、最高权限(会需要输入账户密码)

编辑触发器设置延迟执行(防止启动时电脑还未完成联网,导致发送邮件失败)

条件栏-去掉电源选项,勾选网络选项

点击确定-输入密码-重启验证即可

方法二:加入Windows自启项目录(需要用户登录之后,才能触发)
win+R
打开运行窗口 -> 输入shell:startup

选中 send.bat
右键创建快捷方式,将快捷方式移动到启动目录

添加之后,可以在应用-启动中看到

设置完成,重启测试即可!