中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » p-mailsend_4.0.cmd(命令行发送邮件,群发\多附件\匿名)
<   <<   [1] [2] [3] [4] [5] [6] [7] [8] [9]  >>   >
作者:
标题: p-mailsend_4.0.cmd(命令行发送邮件,群发\多附件\匿名) 上一主题 | 下一主题
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 16 楼』:  

今天早上分析了一下 vkill兄的代码; 在这里解析下;以便于新手学习; 整体的流程是: 1.检查文件完整性 or下载 2.检查参数 3.测试登陆 4.写全配置文件 5.nc 灌入 发送邮件


2007-4-26 01:24
查看资料  发送邮件  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 17 楼』:  

看了下;发现些小问题;下面提出些建议; 为了避免只使用一次/x建议在开头把user等初始化 :发信程序最后漏写了个goto :eof 这一处错误会导致 :发信程序 执行后会紧接着执行 :判断登陆成功否; 在 call :判断登陆成功否后面加一句 if errorlevel 1 goto :del_ 否则无论是否登陆成功都继续发信; 在call :判断发送成功否 会出现些其它不必要的信息;而且发送不成功的话;发送不成功提示会出现两次; 而且最后还会echo 全部信件发送完毕; 建议在 call :del echo 全部信件发送完毕 上加 cls if errorlevel 1 echo 发信不成功 & goto del_ 在:交互模式中 if not defined user (set/p=用户名:<nul&set/p "user= ") 完全可以简写为:if not defined user (set/p "user=用户名: ") 依次类推 for /f "tokens=2 delims=[]" %%? in ('ping -n 1 smtp.163.com ^|findstr /i "^Pinging"') do (set "ip=%%?") 建议把pinging改为ping否则vista无法成功找到ip vista回显为:
正在 Ping smtp.163.split.netease.com [220.181.12.13] 具有 32 字节的数据: 来自 220.181.12.13 的回复: 字节=32 时间=35ms TTL=51 220.181.12.13 的 Ping 统计信息: 数据包: 已发送 = 1,已接收 = 1,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 35ms,最长 = 35ms,平均 = 35ms
应该把help下的if "%1"=="vkill" goto :eof提到help前;否则则失去了他应有的作用;


2007-4-26 01:27
查看资料  发送邮件  发短消息  网志   编辑帖子
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 18 楼』:  

好东西。不过还是要借助vbs?!


2007-4-26 01:33
查看资料  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 19 楼』:  

给vkill兄的代码 根据上面的建议稍微修改了下 并稍微写了点注释 代码如下
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set "t_=test.conf"
  3. set "server=163.com"
  4. set "port=25"
  5. set "最大附件大小=15000000"
  6. set "tools_url=http://www.vkill.net/netbar/网吧所需exe/"
  7. set "tools_name=nc.exe;rar.exe;base64.exe"
  8. rem ================检查文件完整性=====================
  9. :down_tools
  10. set "down_ok=y"
  11. if not "%tools_name%*"=="*" (
  12. for %%? in (%tools_name%) do (
  13. if *%%~$PATH:?==* if not exist %%? (
  14. set "down_ok=n"
  15. echo 程序所依赖文件%%?缺失,已自动开始下载
  16. if not exist iget.vbs call :iget.vbs_
  17. iget.vbs "%tools_url%%%?" "%%?"
  18. ::move "%%?" %windir%>nul 2>nul
  19. echo 文件%%?下载完毕
  20. )
  21. )
  22. )
  23. del /f/q iget.vbs>nul 2>nul
  24. if [%down_ok%]==[n] goto down_tools
  25. rem ==================结束==============================
  26. rem ===============分析参数=============================
  27. for %%? in (/? -? /h -h --h) do (if "%1"=="%%?" goto help)
  28. if "%1"=="" goto help
  29. :loop_ap
  30. set/a n+=1
  31. if not "%1"=="" (
  32. if "%1"=="/x" goto 交互模式
  33. if "%1"=="/u" set "user=%~2"
  34. if "%1"=="/p" set "pass=%~2"
  35. if "%1"=="/t" set "to=%~2"
  36. if "%1"=="/s" set "subject=%~2"
  37. if "%1"=="/c" set "content=%~2"
  38. if "%1"=="/a" set "accessories=%~2"
  39. shift&shift
  40. goto loop_ap
  41. )
  42. for %%? in (user pass to subject) do (if not defined %%? goto 参数错误)
  43. goto start
  44. rem ===================结束===============================
  45. :交互模式
  46. call :help vkill
  47. if not defined user (set/p "user=用户名: ")
  48. if not defined pass (set/p "pass=密码: ")
  49. if not defined to (set/p "to=收件人: ")
  50. if not defined subject (set/p "subject=主题<hello>: ")
  51. if not defined content (set/p "content=内容: ")
  52. if not defined accessories (set/p "accessories=附件: ")
  53. rem :::::开始写配置文件:::::
  54. :start
  55. ::写单个发送配置文件
  56. for /l %%? in (1,1,7) do (>%%? cd.)
  57. >>1 echo helo vkill
  58. >>1 echo AUTH LOGIN
  59. rem ===================1文件的内容==========================
  60. rem helo vkill
  61. rem AUTH LOGIN
  62. rem ====================结束================================
  63. for %%? in (%user%;%pass%) do (
  64. set/p=%%?^<nul|base64>"!t_!"
  65. set/p v=<"!t_!"
  66. >>2 echo !v!
  67. del /f/q !t_!
  68. )
  69. rem [*第一次改写 test.conf 做为一个中介用来把用户名密码的base64编码写入文件2*]
  70. rem =================2文件的内容=============================
  71. rem 用户名和密码的base64编码
  72. rem =====================结束================================
  73. rem [*改写test.conf利用nc 灌入服务器25端口的回显判断是否能够成功登陆*]
  74. >8 echo quit
  75. rem =================8文件的内容============================
  76. rem quit
  77. rem ====================结束================================
  78. copy 1+2+8 "!t_!" >nul 2>nul
  79. rem ::判断能否登陆::
  80. rem 第二次改写test.conf 以用来 验证能否登陆服务器 nc -nvv IP Port <test.conf
  81. rem =================test.conf文件的内容=====================
  82. rem helo vkill
  83. rem AUTH LOGIN
  84. rem 用户名base64编码
  85. rem 密码base64编码
  86. rem quit
  87. rem ====================结束================================
  88. call :发信程序
  89. cls
  90. call :判断登陆成功否
  91. if errorlevel 1 goto :del_
  92. rem ::判断结束::
  93. >>3 echo mail from: ^<%user%@%server%^>
  94. rem ===================3文件的内容=============================
  95. rem mail from: <%user%@163.com>
  96. rem =======================结束================================
  97. >>5 echo data
  98. >>5 echo From: %user%@%server%
  99. >>5 echo To: %to%
  100. >>5 echo Subject: %subject%
  101. >>5 echo X-mailer: p-163ms 2.0 [cn]
  102. >>5 echo Mime-Version: 1.0
  103. >>5 echo Content-Type: multipart/mixed;
  104. >>5 echo boundary="=====vkill====="
  105. >>5 echo.
  106. if defined content (
  107. >>5 echo --=====vkill=====
  108. >>5 echo Content-Type: text/plain;
  109. >>5 echo charset="gb2312"
  110. >>5 echo Content-Transfer-Encoding: 7bit
  111. >>5 echo.
  112. dir !content! >nul 2>nul &&(type "!content!">>5) ||(>>5 echo !content!)
  113. )
  114. rem ====================5文件的内容=============================
  115. rem data
  116. rem From: %user%@163.com
  117. rem To: %to%
  118. rem Subject: %subject%
  119. rem X-mailer: p-163ms 2.0 [cn]
  120. rem Mime-Version: 1.0
  121. rem Content-Type: multipart/mixed;
  122. rem boundary="=====vkill====="
  123. rem 如果有内容的话
  124. rem --=====vkill=====
  125. rem Content-Type: text/plain;
  126. rem charset="gb2312"
  127. rem Content-Transfer-Encoding: 7bit
  128. rem
  129. rem 内容
  130. rem ======================结束================================
  131. echo 压缩编码文件中...
  132. if defined accessories for %%? in (%accessories%) do (call :压缩编码附件 "%%?")
  133. >>7 echo --=====vkill=====--
  134. >>7 echo .
  135. >>7 echo quit
  136. rem ===================7文件的内容============================
  137. rem --=====vkill=====--
  138. rem
  139. rem quit
  140. rem ======================结束================================
  141. ::发信
  142. for %%? in (%to%) do (
  143. echo%%?发信中...
  144. ::合并单个发送配置文件
  145. >4 echo rcpt to: ^<%%?^>
  146. del /f/q "!t_!"
  147. copy 1+2+3+4+5+6+7 "!t_!" >nul 2>nul
  148. call :发信程序
  149. call :判断发送成功否
  150. )
  151. rem ====================4文件的内容=============================
  152. rem rcpt to:<%to%>
  153. rem =======================结束================================
  154. rem 第三次改写 test.conf文件.合并1-7个文件;内容如下;也是最关键的东西.
  155. rem ===================test.conf文件的内容==========================
  156. rem helo vkill
  157. rem AUTH LOGIN
  158. rem 用户名base64编码
  159. rem 密码base64编码
  160. rem mail from: <%user%@163.com>
  161. rem rcpt to: <%to%@163.com>
  162. rem data
  163. rem From: %user%@163.com
  164. rem To: %to%@163.com
  165. rem Subject: %subject%
  166. rem X-mailer: p-163ms 2.0 [cn]
  167. rem Mime-Version: 1.0
  168. rem Content-Type: multipart/mixed;
  169. rem boundary="=====vkill====="
  170. rem
  171. rem --=====vkill=====
  172. rem Content-Type: text/plain;
  173. rem charset="gb2312"
  174. rem Content-Transfer-Encoding: 7bit
  175. rem
  176. rem %content%
  177. rem --=====vkill=====
  178. rem Content-Type: application/octet-stream;
  179. rem name="附件名称_.rar"
  180. rem Content-Transfer-Encoding: base64
  181. rem Content-Disposition: attachment;
  182. rem filename="附件名称_.rar"
  183. rem
  184. rem 附件压缩文件的base64编码
  185. rem
  186. rem --=====vkill=====--
  187. rem .
  188. rem quit
  189. rem ====================结束================================
  190. rem ::::写配置文件结束::::
  191. cls
  192. if errorlevel 1 echo 发信不成功 & goto del_
  193. call :del_
  194. echo 全部信件发送完毕
  195. ping -n 3 127.1>nul 2>nul
  196. goto :eof
  197. :del_
  198. for /l %%? in (1,1,8) do (del /f/q %%?>nul 2>nul)
  199. del /f/q "%t_%">nul 2>nul
  200. del /f/q p-163ms.log>nul 2>nul
  201. goto :eof
  202. :help
  203. if "%1"=="vkill" goto :eof
  204. echo ____help________________________________________________________________________
  205. echo.
  206. echo p-163ms v2.0 by:vkill
  207. echo Copyright (C) 2006-2008 www.vkill.net
  208. echo.
  209. echo Usage: p-163ms.cmd [/x] /u 用户名 /p 密码 /t 收件人 /s 主题 [/c 内容] [/a 附件]
  210. echo.
  211. echo /x 交互模式,当使用此参数时别的参数全部无效
  212. echo /t 收件人:(多收件人中间用,隔开;多附件时用""引住)
  213. echo /c 内容:(文字/写好内容的文本文件路径)
  214. echo /a 附件:(绝对路径/相对路径,多附件中间用,隔开;多附件时用""引住)
  215. echo.
  216. echo 示例:
  217. echo p-163ms.cmd /u 123 /p abc /t "122755990@qq.com" /s hello
  218. echo p-163ms.cmd /u 123 /p abc /t "122755990@qq.com" /s hello /c 123 /a "d:\00.txt"
  219. echo p-163ms.cmd /u 123 /p abc /t "122755990@qq.com,yx127@yx127.com" /s hello /c 123 /a "d:\00.txt,c:\00.bat"
  220. echo.
  221. echo ________________________________________________________________________________
  222. goto :eof
  223. :压缩编码附件
  224. dir %~1 >nul 2>nul &&(call :压缩文件 "%~1" "rar.exe -r")||(call :压缩文件 "%~1" rar.exe)
  225. call :判断文件大小 "%~n1_.rar"
  226. >>6 echo --=====vkill=====
  227. >>6 echo Content-Type: application/octet-stream;
  228. >>6 echo name="%~n1_.rar"
  229. >>6 echo Content-Transfer-Encoding: base64
  230. >>6 echo Content-Disposition: attachment;
  231. >>6 echo filename="%~n1_.rar"
  232. >>6 echo.
  233. base64.exe -i "%~n1_.rar">>6
  234. >>6 echo.
  235. del /f/q "%~n1_.rar" >nul 2>nul
  236. goto :eof
  237. rem ==================6文件的内容===================================
  238. rem --=====vkill=====
  239. rem Content-Type: application/octet-stream;
  240. rem name="%~n1_.rar"
  241. rem Content-Transfer-Encoding: base64
  242. rem Content-Disposition: attachment;
  243. rem filename="%~n1_.rar"
  244. rem
  245. rem 附件的base64编码
  246. rem
  247. rem ====================结束======================================
  248. :压缩文件
  249. %~2 a "%~n1_.rar" "%~1" >nul 2>nul||(goto 压缩文件错误)
  250. goto :eof
  251. :判断文件大小
  252. set/a z+=%~z1
  253. ::判断附件大小
  254. if not !z! lss %最大附件大小% (goto 附件大小超出)
  255. goto :eof
  256. :发信程序
  257. for /f "tokens=2 delims=[]" %%? in ('ping -n 1 smtp.163.com ^|findstr /i "^Ping"') do (set "ip=%%?")
  258. nc -nvv !ip! %port%<"!t_!">p-163ms.log
  259. goto :eof
  260. :判断登陆成功否
  261. for /f "tokens=1-2 delims=:" %%a in ('findstr /N . p-163ms.log') do (set "%%a=%%b")
  262. echo !5!|findstr "^235" >nul 2>nul ||(goto 登陆不成功)
  263. goto :eof
  264. :判断发送成功否
  265. for /f "tokens=1-2 delims=:" %%a in ('findstr /N . p-163ms.log') do (set "%%a=%%b")
  266. if not defined 10 (call :发信不成功)
  267. echo !9!|findstr "^250" >nul 2>nul ||(goto 发信不成功)
  268. goto :eof
  269. :iget.vbs_
  270. >iget.vbs echo x=LCase(WScript.Arguments(1))
  271. >>iget.vbs echo y=LCase(WScript.Arguments(0))
  272. >>iget.vbs echo Set xPost=CreateObject("Microsoft.XMLHTTP")
  273. >>iget.vbs echo xPost.Open "GET",y,0
  274. >>iget.vbs echo xPost.Send()
  275. >>iget.vbs echo Set sGet=CreateObject("ADODB.Stream")
  276. >>iget.vbs echo sGet.Mode=3
  277. >>iget.vbs echo sGet.Type=1
  278. >>iget.vbs echo sGet.Open()
  279. >>iget.vbs echo sGet.Write(xPost.responseBody)
  280. >>iget.vbs echo sGet.SaveToFile x,2
  281. goto :eof
  282. :::::::::::::::::::::所有错误start::::::::::::::::::::::
  283. :参数错误
  284. echo 参数错误,用户名\密码\收件人\主题中某一项缺少
  285. goto :eof
  286. :压缩文件错误
  287. echo 压缩文件失败
  288. goto :eof
  289. :附件大小超出
  290. echo 附件大小超出
  291. goto :eof
  292. :登陆不成功
  293. echo 登陆不成功
  294. goto :eof
  295. :发信不成功
  296. echo 发信不成功
  297. goto :eof
  298. :::::::::::::::::::::所有错误end::::::::::::::::::::::
BJSH发表于: 2007-04-25 13:20
[ Last edited by bjsh on 2007-4-25 at 01:34 PM ]


   此帖被 +16 点积分     点击查看详情   
评分人:【 lxmxn 分数: +8  时间:2007-4-26 02:30
评分人:【 vkill 分数: +8  时间:2007-4-26 07:35


2007-4-26 01:35
查看资料  发送邮件  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 20 楼』:  

根据vkill兄的代码;我重新写了一下; 直接生成 test 和 post文件; 避免了9个文件的加和和复制; 稍微容易理解些: 代码如下:
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set "t_=test.conf"
  3. set "server=163.com"
  4. set "port=25"
  5. set "最大附件大小=15000000"
  6. set "tools_url=http://www.vkill.net/netbar/网吧所需exe/"
  7. set "tools_name=nc.exe;rar.exe;base64.exe"
  8. set "user="
  9. set "pass="
  10. set "to="
  11. set "subject="
  12. set "content="
  13. set "accessories="
  14. :down_tools
  15. set "down_ok=y"
  16. if not "%tools_name%*"=="*" (
  17. for %%? in (%tools_name%) do (
  18. if *%%~$PATH:?==* if not exist %%? (
  19. set "down_ok=n"
  20. echo 程序所依赖文件%%?缺失,已自动开始下载
  21. if not exist iget.vbs call :iget.vbs_
  22. iget.vbs "%tools_url%%%?" "%%?"
  23. echo 文件%%?下载完毕
  24. )
  25. )
  26. )
  27. del /f/q iget.vbs>nul 2>nul
  28. if [%down_ok%]==[n] goto down_tools
  29. for %%? in (/? -? /h -h --h) do (if "%1"=="%%?" goto help)
  30. if "%1"=="" goto help
  31. :loop_ap
  32. set/a n+=1
  33. if not "%1"=="" (
  34. if "%1"=="/x" goto 交互模式
  35. if "%1"=="/u" set "user=%~2"
  36. if "%1"=="/p" set "pass=%~2"
  37. if "%1"=="/t" set "to=%~2"
  38. if "%1"=="/s" set "subject=%~2"
  39. if "%1"=="/c" set "content=%~2"
  40. if "%1"=="/a" set "accessories=%~2"
  41. shift&shift
  42. goto loop_ap
  43. )
  44. for %%? in (user pass to subject) do (
  45. if not defined %%? echo 参数错误参数错误,用户名\密码\收件人\主题中某一项缺少 & goto :eof
  46. )
  47. goto start
  48. :交互模式
  49. call :help vkill
  50. if not defined user (set/p "user=用户名: ")
  51. if not defined pass (set/p "pass=密码: ")
  52. if not defined to (set/p "to=收件人: ")
  53. if not defined subject (set/p "subject=主题<hello>: ")
  54. if not defined content (set/p "content=内容: ")
  55. if not defined accessories (set/p "accessories=附件: ")
  56. :start
  57. echo helo vkill >test
  58. echo AUTH LOGIN >>test
  59. set /p"=%user%"<nul|base64>"!t_!"
  60. set /p v=<"!t_!"
  61. >>test echo !v!
  62. set /p"=%pass%"<nul|base64>"!t_!"
  63. set /p v=<"!t_!"
  64. >>test echo !v!
  65. del /f /q !t_!
  66. echo quit>>test
  67. call :发信程序 test
  68. cls
  69. for /f "tokens=1-2 delims=:" %%a in ('findstr /N . p-163ms.log') do (set "%%a=%%b")
  70. echo !5!|findstr "^235" >nul 2>nul ||(echo 登陆不成功)
  71. if errorlevel 1 goto :del_
  72. if exist post del /f /q post
  73. for /f "delims=" %%a in (test) do if not "%%a"=="quit" echo %%a >>post
  74. del /f /q test
  75. >>post echo mail from: ^<%user%@%server%^>
  76. >>post echo rcpt to: ^<%to%^>
  77. >>post echo data
  78. >>post echo From: %user%@%server%
  79. >>post echo To: %to%
  80. >>post echo Subject: %subject%
  81. >>post echo X-mailer: p-163ms 2.0 [cn]
  82. >>post echo Mime-Version: 1.0
  83. >>post echo Content-Type: multipart/mixed;
  84. >>post echo boundary="=====vkill====="
  85. >>post echo.
  86. if defined content (
  87. >>post echo --=====vkill=====
  88. >>post echo Content-Type: text/plain;
  89. >>post echo charset="gb2312"
  90. >>post echo Content-Transfer-Encoding: 7bit
  91. >>post echo.
  92. dir !content! >nul 2>nul &&(type "!content!">>post) ||(>>post echo !content!)
  93. )
  94. echo 压缩编码文件中...
  95. if defined accessories for %%? in (%accessories%) do (call :压缩编码附件 "%%?")
  96. echo%to%发信中...
  97. call :发信程序 post
  98. cls
  99. for /f "tokens=1-2 delims=:" %%a in ('findstr /N . p-163ms.log') do (set "%%a=%%b")
  100. if not defined 10 echo.
  101. echo !9!|findstr "^250" >nul 2>nul ||echo.
  102. cls
  103. if errorlevel 1 echo 发信不成功 & goto del_
  104. call :del_
  105. echo 全部信件发送完毕
  106. ping -n 3 127.1>nul 2>nul
  107. goto :eof
  108. :del_
  109. del /f /q test >nul 2>nul
  110. del /f /q post >nul 2>nul
  111. del /f /q p-163ms.log>nul 2>nul
  112. goto :eof
  113. :发信程序
  114. for /f "tokens=2 delims=[]" %%? in ('ping -n 1 smtp.163.com ^|findstr /i "^Ping"') do (set "ip=%%?")
  115. nc -nvv !ip! %port%<%1>p-163ms.log
  116. goto :eof
  117. :压缩编码附件
  118. dir %~1 >nul 2>nul &&(call :压缩文件 "%~1" "rar.exe -r")||(call :压缩文件 "%~1" rar.exe)
  119. call :判断文件大小 "%~n1_.rar"
  120. >>post echo --=====vkill=====
  121. >>post echo Content-Type: application/octet-stream;
  122. >>post echo name="%~n1_.rar"
  123. >>post echo Content-Transfer-Encoding: base64
  124. >>post echo Content-Disposition: attachment;
  125. >>post echo filename="%~n1_.rar"
  126. >>post echo.
  127. base64.exe -i "%~n1_.rar">>post
  128. >>post echo.
  129. del /f/q "%~n1_.rar" >nul 2>nul
  130. >>post echo --=====vkill=====--
  131. >>post echo .
  132. >>post echo quit
  133. goto :eof
  134. :压缩文件
  135. %~2 a "%~n1_.rar" "%~1" >nul 2>nul||(echo 压缩文件错误)
  136. goto :eof
  137. :判断文件大小
  138. set/a z+=%~z1
  139. ::判断附件大小
  140. if not !z! lss %最大附件大小% (echo 附件大小超出)
  141. goto :eof
  142. :help
  143. if "%1"=="vkill" goto :eof
  144. echo ____help________________________________________________________________________
  145. echo.
  146. echo p-163ms v2.0 by:vkill
  147. echo Copyright (C) 2006-2008 www.vkill.net
  148. echo.
  149. echo Usage: p-163ms.cmd [/x] /u 用户名 /p 密码 /t 收件人 /s 主题 [/c 内容] [/a 附件]
  150. echo.
  151. echo /x 交互模式,当使用此参数时别的参数全部无效
  152. echo /t 收件人:(多收件人中间用,隔开;多附件时用""引住)
  153. echo /c 内容:(文字/写好内容的文本文件路径)
  154. echo /a 附件:(绝对路径/相对路径,多附件中间用,隔开;多附件时用""引住)
  155. echo.
  156. echo 示例:
  157. echo p-163ms.cmd /u 123 /p abc /t "122755990@qq.com" /s hello
  158. echo p-163ms.cmd /u 123 /p abc /t "122755990@qq.com" /s hello /c 123 /a "d:\00.txt"
  159. echo p-163ms.cmd /u 123 /p abc /t "122755990@qq.com,yx127@yx127.com" /s hello /c 123 /a "d:\00.txt,c:\00.bat"
  160. echo.
  161. echo ________________________________________________________________________________
  162. goto :eof
  163. :iget.vbs_
  164. >iget.vbs echo x=LCase(WScript.Arguments(1))
  165. >>iget.vbs echo y=LCase(WScript.Arguments(0))
  166. >>iget.vbs echo Set xPost=CreateObject("Microsoft.XMLHTTP")
  167. >>iget.vbs echo xPost.Open "GET",y,0
  168. >>iget.vbs echo xPost.Send()
  169. >>iget.vbs echo Set sGet=CreateObject("ADODB.Stream")
  170. >>iget.vbs echo sGet.Mode=3
  171. >>iget.vbs echo sGet.Type=1
  172. >>iget.vbs echo sGet.Open()
  173. >>iget.vbs echo sGet.Write(xPost.responseBody)
  174. >>iget.vbs echo sGet.SaveToFile x,2
  175. goto :eof
BJSH发表于: 2007-04-25 14:59


2007-4-26 04:12
查看资料  发送邮件  发短消息  网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 21 楼』:  

bjsh 兄 我用copy + + 完全是为了多方发送,因为多方发送的时候只是修改了rcpt to: ,其他的完全没有变,我用copy ++ 你发信的时候试试 start nc -nvv ...看看那样更快,呵呵 19楼的解释太精彩了,佩服 在:交互模式中 if not defined user (set/p=用户名:<nul&set/p "user= ") 完全可以简写为:if not defined user (set/p "user=用户名: ") 依次类推 我刚刚试了set/p "user=用户名: " 和set/p=用户名:<nul&set/p "user= "一样,谢谢兄指点


2007-4-26 07:41
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 22 楼』:  

还有看来bjsh 兄这么有意研究这个,再说说吧! >>post echo mail from: ^<%user%@%server%^> >>post echo rcpt to: ^<%to%^> mail from:可以把这去掉,也可以写别的邮箱,应该也可以写文字之类的,类似匿名,哈哈 rcpt to: 可以把这去掉,这样别人就看不到你同时都给谁发了,我相信到mail.163.com是做不到这样的


2007-4-26 07:44
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 23 楼』:  

bjsh 兄 我用copy + + 完全是为了多方发送,因为多方发送的时候只是修改了rcpt to: ,其他的完全没有变,我用copy ++ 你发信的时候试试 start nc -nvv ...看看那样更快,呵呵
原来如此啊!还真没想到多方发送;确实


2007-4-26 07:44
查看资料  发送邮件  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 24 楼』:  

我还想把他做成校内通用的; 可惜想了半天也没明白学校的邮件服务器用的是什么; 看了看似乎是80; 至于smtp完全是模仿你的; 至于含义真的是不懂; 有空真得去学学网络协议了; 如果vkill兄不嫌我郁闷; 帮我搞定学校内的邮件发送;真是感激不尽了;


2007-4-26 07:48
查看资料  发送邮件  发短消息  网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 25 楼』:  

后面的完全就是mime了,blog.yx127.com/?action=show&am ...,这里讲的很详细 学校的那个你 telnet 上去看看,例子: telnet 192.168.0.1 25 help 看看出来什么 [ Last edited by vkill on 2007-4-26 at 07:52 AM ]


2007-4-26 07:51
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 26 楼』:  

25端口不开的; 问了学校的一些人 说smtp和pop3都不开放的;


2007-4-26 08:00
查看资料  发送邮件  发短消息  网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 27 楼』:  

bjsh 兄 可否有意一起写那?我想写为 p-mailsend ,支持更多的邮箱,最起码我想支持现在几个大站的,163 yahoo qq hotmail gmail 56 sina sohu 21cn == Usage: p-163ms.cmd [/x] /u 用户名@服务器 /p 密码 /t 收件人 /s 主题 [/c 内容] [/a 附件]


2007-4-26 08:01
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 28 楼』:  

Originally posted by bjsh at 2007-4-26 08:00: 25端口不开的; 问了学校的一些人 说smtp和pop3都不开放的;
这个不开放那用telnet就没有办法了,用foxmail OE ==也不可以,只有通过网页形式发了,你可以用vbs写个登陆邮箱发邮件的,呵呵,量体财衣了


2007-4-26 08:03
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 29 楼』:  

他的端口只有这些 80(HTTP) 21(FTP Control) 3306(MYSQL) 22(SSH) 389(LDAP) 确实得用vbs了; 五一写


2007-4-26 08:14
查看资料  发送邮件  发短消息  网志   编辑帖子
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 30 楼』:  

Originally posted by vkill at 2007-4-25 07:01 PM: bjsh 兄 可否有意一起写那?我想写为 p-mailsend ,支持更多的邮箱,最起码我想支持现在几个大站的,163 yahoo qq hotmail gmail 56 sina sohu 21cn == Usage: p-163m ...
好啊! 这样就可以和兄学习到好东西了;呵呵


2007-4-26 08:15
查看资料  发送邮件  发短消息  网志   编辑帖子
<   <<   [1] [2] [3] [4] [5] [6] [7] [8] [9]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: