标题: [其他] 想求教一下这个批处理怎么实现发送邮件的 [打印本页]
作者: 咒夜坠 时间: 2013-2-28 17:38 标题: 想求教一下这个批处理怎么实现发送邮件的
本帖最后由 咒夜坠 于 2013-2-28 17:39 编辑
想求教一下这个批处理怎么实现发送邮件的
下面是说明- 一个是用于服务器监控(serverstate.bat)批处理文件,并将监控到的数据进行保存,以及判断服务器在线状态,当服务器断线时,则自动调用另外一个批处理文件(mail.bat),并将要发送到对方的邮箱添加在相应的字段后面,使用DOS命令,在DOS窗口下实现邮件发送,有网友要问了,不是说服务器断线短信通知吗?怎么这里又变成邮件啦,呵呵,先不要介意,当你注册了手机邮箱,同时再开通邮件短信通知功能,你就可以收到短信啦!如果你是移动的手机,[url=http://mail.10086.cn/Register/default.aspx?key=dU6ZOcYNpuPpqvK1staqh8cgMa%2bMXeKOw8XK%2bPC4fSKd3ARRmlcO%2faDXkOkaZQNaihR6Ict12iE5HGxJAY8oCfCSXqXHvW1JRQOnpkb7idU%3d]复制上面的地址注册一个吧![/url]没关系,不要以为是广告,你也可以不注册,但只能收到邮件,对你有用没用,看你自己的需要吧!
- 记得把里面的邮箱251671879@qq.com改掉,你们可以改为手机号码@139.com,开通短信通知功能,你的邮件一送达,即可以收到短信了!)
复制代码
下面是serverstate.bat用于服务器监控- @rem pinglog.bat Createdby Bankin
- @echo off
- echo 本系统用于监控网络服务器的运行情况,当服务器出现丢包4次时,则自动发邮件通知,若采用的是手机邮箱,则更可以实现短信通知的功能。服务器断线状况具体情况可参考netstate.txt 文件。当服务器出现死机时会进行邮件通知,如果出现误报情况,请检查netstate.txt文件,查询是否有异常。
-
- echo 现进入试用阶段,系统正在运行,请勿关闭
-
- :first
- echo 重新循环第一台被监控服务器
- set /a num=0
-
- :begin3d04
- ping -n 2 218.16.118.211 | find "Request"
- if %ERRORLEVEL%==1 set /a num=0
- if %ERRORLEVEL%==1 goto begin3d05
- if %num% == 1 goto 3d04
- set /a num=%num%+1
- echo %num%
- echo 3d04服务器在%date%,%time%丢包一次记录 >>netstate.txt
- goto begin3d04
-
-
- :begin3d05
- ping -n 2 218.16.118.193 | find "Request"
- if %ERRORLEVEL%==1 set /a num=0
- if %ERRORLEVEL%==1 goto begin3e04
- if %num% == 1 goto 3d05
- set /a num=%num%+1
- echo %num%
- echo 3d05服务器在%date%,%time%丢包一次记录 >>netstate.txt
- goto begin3d05
-
-
- :begin3e04
- ping -n 2 218.16.118.204 | find "Request"
- if %ERRORLEVEL%==1 set /a num=0
- if %ERRORLEVEL%==1 goto first
- if %num% == 1 goto 3e04
- set /a num=%num%+1
- echo %num%
- echo 3e04服务器在%date%,%time%丢包一次记录 >>netstate.txt
- goto begin3e04
-
- :3d04
- echo 3d04 at %time% is loss >>aa.txt
- mail 251671879@qq.com aa.txt
- goto end
-
- :3d05
- echo 3d05 at %time% is die >>aa.txt
- mail 251671879@qq.com aa.txt
- goto end
-
- :3e04
- echo 3e04 at %time% is loss >>aa.txt
- mail 251671879@qq.com aa.txt
- goto end
-
- :end
复制代码
下面是mail.bat用于发送邮件- @echo off
- title DOS下发邮件
- set subject=somebody login
- set b=mfsoww@163.com
- set username=bWZzb3d3QDE2My5jb20=
- set password=dWRid2dpaWF3
- echo set sh=WScript.CreateObject("WScript.Shell")>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.Run "telnet">>aa.vbs
- echo WScript.Sleep 200>>aa.vbs
- echo sh.SendKeys "open smtp.163.com 25">>aa.vbs
- echo WScript.Sleep 200>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo sh.SendKeys "ehlo aaa">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "auth login">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "%username%">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "%password%">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "mail from:<%b%>">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "rcpt to:<%1>">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "data">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "from:%b%">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "to:%1">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "subject:%subject%">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo @echo off>aa.bat
- echo for /f "delims=" %%%%i in (%2) do (>>aa.bat
- echo echo sh.SendKeys "%%%%i{ENTER}")>>aa.bat
- call aa.bat>>aa.vbs
- echo WScript.Sleep 200>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys ".">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "quit{ENTER}">>aa.vbs
- echo WScript.Sleep 100>>aa.vbs
- echo sh.SendKeys "{ENTER}">>aa.vbs
- echo WScript.Sleep(100)>>aa.vbs
- echo sh.SendKeys "q{ENTER}">>aa.vbs
- echo WScript.Sleep(100)>>aa.vbs
- echo sh.SendKeys "q{ENTER}">>aa.vbs
- echo sh.SendKeys "q{ENTER}">>aa.vbs
- echo WScript.Sleep(100)>>aa.vbs
- echo sh.SendKeys "q{ENTER}">>aa.vbs
- echo sh.SendKeys "EXIT{ENTER}">>aa.vbs
- aa.vbs
- del aa.bat
- del aa.vbs
- del aa.txt
- del y.vbs
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |