批处理怎样自动发邮件
答案:2 悬赏:0 手机版
解决时间 2021-01-25 10:37
- 提问者网友:温柔港
- 2021-01-25 07:45
批处理怎样自动发邮件
最佳答案
- 五星知识达人网友:一秋
- 2021-01-25 08:31
计划任务里面的任务是由系统进程调用执行的.在还没有开机的前提下,系统进程没有加载,是无法执行的.凡是建立在软件/系统基础上的方法都是不可能的. 但建立在硬件上的是可以的. 如果在主板上可以的话,那就试一下用批处理来设置主板,这可能是唯一的思路了.但可行与否就不知道了。
全部回答
- 1楼网友:野慌
- 2021-01-25 10:04
http://clubfile2.chinaren.com/uploadfile/200701/464/hakrrtfk.rar
下面的批处理代码用到了nc.exe,下载压缩包后将其解压到该批处理所在的目录下。
@echo off
title 批处理发送邮件(只用于163邮箱) by:vkill
set "life=test.conf"
cls
echo 正在检查网络
ping -n 2 smtp.163.com>nul ||(echo 请先检查网络&pause>nul&goto :eof)
:start
cls
::::::::::::::::::::::::::::::::::::::::
:name_b
title 批处理发送邮件→1/5
cls
set name=
set /p name=请输入邮箱用户名:
if *%name%==* goto name_b
echo %name%|findstr "^[0-9a-za-z_-=]*$" >nul ||(echo 语法错误,任意键返回&pause>nul&goto name_b)
echo 必须保证和上面base64编码前的是同一用户名
:name__b
set name_=
set /p name_=请输入邮箱用户名(非base64编码的):
if *%name_%==* goto name__b
:pass_b
title 批处理发送邮件→2/5
cls
set pass=
set /p pass=请输入邮箱密码:
if *%pass%==* goto pass_b
echo %pass%|findstr "^[0-9a-za-z_-=]*$" >nul ||(echo 语法错误,任意键返回&pause>nul&goto pass_b)
:sjr_b
title 批处理发送邮件→3/5
cls
echo 格式为xxx@xxx.xxx 例如:test@test.com
set sjr=
set /p sjr=请输入收件人:
if *%sjr%==* goto sjr_b
echo %sjr%|findstr "^[0-9a-z]*\@[0-9a-z]*\.[a-z]*$" >nul ||(echo 语法错误,任意键返回&pause>nul&goto sjr_b)
:zt_b
title 批处理发送邮件→4/5
cls
set zt=
set /p zt=请输入邮件的主题:
if *%zt%==* goto zt_b
:zw_b
title 批处理发送邮件→5/5
cls
set zw=
set /p zw=请输入邮件的正文:
if *%zw%==* goto zw_b
::写nc调用的脚本
>%life% echo helo cn-dos
>>%life% echo auth login
>>%life% echo %name%
>>%life% echo %pass%
>>%life% echo mail from: ^<%name_%@163.com^>
>>%life% echo rcpt to: ^<%sjr%^>
>>%life% echo data
>>%life% echo from: %name_%@163.com
>>%life% echo to: %sjr%
>>%life% echo subject: %zt%
>>%life% echo mime-version: 1.0
>>%life% echo content-type: text/plain
>>%life% echo.
>>%life% echo %zw%
>>%life% echo .
>>%life% echo quit
pause
cls
echo 正在获取smtp.163.com的ip
for /f "tokens=4 delims= " %%? in ('ping -n 1 smtp.163.com ^|find /i "ping statistics for"') do (set "ip_=%%?")
set "ip=%ip_::=%"
if *%ip%==* (echo 没有获取到ip,可能网络有问题&pause>nul&goto :eof)
echo %ip%|findstr "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul||(echo 没有获取到ip,可能网络有问题&pause>nul&goto :eof)
echo ip获取完成
echo 正在发送邮件
::nc连接smtp.163.com 25执行%life%中的命令发邮件
nc -nvv %ip% 25 < %life%
echo 发送完成,任意键开始继续发送
del /f/q %life%>nul
pause>nul&goto sjr_b
goto :eof
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯