中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 13:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理怎样发送邮件?急 查看 2,781 回复 24
16 发表于 2010-04-19 11:09 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
freedom!
17 发表于 2010-04-19 11:28 ·  中国 陕西 西安 电信
新手上路
积分 14
发帖 14
注册 2010-04-16 17:52
16年会员
UID 164746
性别 男
状态 离线
对啊,但是为什么写成批处理就不行了?真的搞不懂??
18 发表于 2010-04-19 12:37 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
会不会是批处理写命令进去时,没有等上一句返回,便写入下一个命令,而造成某些命令丢失
freedom!
19 发表于 2010-04-19 19:31 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
借用前辈的贴:(这种方法能行)

@echo off
:::::::::::::: 参数设置::::::::::::::
set from=xxx@163.com
set user=xxx
set pass=xxx
set to=xxx@qq.com
set subj=测试
set mail=mail_body.txt
set server=smtp.163.com
set debug=-debug -log blat.log -timestamp
::::::::::::::::: 运行blat :::::::::::::::::
blat %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -server %server% -f %from% -u %user% -pw %pass% %debug%

pause > nul & exit /b
附件
blat_2[1].6.1.rar (101.43 KiB, 下载次数: 27)
freedom!
20 发表于 2010-04-19 20:19 ·  中国 陕西 西安 电信
新手上路
积分 14
发帖 14
注册 2010-04-16 17:52
16年会员
UID 164746
性别 男
状态 离线
不行啊 我试过了,你怎么成功的?
21 发表于 2010-04-19 22:05 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
这个blat 要放在%windir%\system32 下 还有一个dll文件
freedom!
22 发表于 2010-04-20 10:30 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
这个问题确实很有意义,如果借用telnet能够自动发送邮件,那省事多了
freedom!
23 发表于 2010-04-20 11:23 ·  中国 广东 深圳 电信
初级用户
★★
游手好闲 + 无所事事 ..
积分 194
发帖 167
注册 2007-04-30 09:43
19年会员
UID 87022
性别 男
状态 离线
我觉得如果想仅仅用 telnet 实现本地SMTP或者POP3功能的话,可能性不大,毕竟现在的邮件服务器基本都用了账号密码加密,在本地,CMD环境下,如果不借助第三方的DLL或者OCX或者EXE,应该是没有办法实现加密,无法通过认证这一关,更不用提发送接收邮件了。

我想一个比较可行的办法,应该是用 CMD 自带telnet 或者 ftp.exe,将本地的邮件内容及附件上传到某个网站,由该网站自动转发邮件到目的地。
再或者,寻找某个提供匿名SMTP服务、不需要加密验证账户的网站,通过该网站转发、接收邮件。

这样的可行性会高一点。


SORRY,刚才仔细查了一下,VBS可以实现BASE64的加解密

[ Last edited by exzzz on 2010-4-20 at 11:35 ]
24 发表于 2010-04-20 17:20 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
base64.exe 控制台工具也能行,可以把用户名、密码加密后在,发送到邮件服务器。
freedom!
25 可以了发送了!!!! 发表于 2010-04-21 13:04 ·  中国 陕西 西安 电信
新手上路
积分 14
发帖 14
注册 2010-04-16 17:52
16年会员
UID 164746
性别 男
状态 离线
我用blat.exe可以发送了,太好了 你们也试试!还可以发送附件。我用的是163的,如果要用别的邮箱发送,就把smtp.163.com改成smtp.XX.com就可以了
如又qq发送就这样:smtp.qq.com.
代码如下:
@echo off
set /p youjian=请输入您的邮箱(163的):
set /p mima=请输入您的密码:
set /p fasong=请输入收信人地址:
set /p fujian=请输入附件的路径:
set /p zhuti=请输入信的主题:
set /p nirong=请输入信的内容:
echo %nirong% >c:\youjian.txt
blat -install smtp.163.com %youjian% 3 25 >nul
echo 正在发送中...
blat c:\youjian.txt -to %fasong% -s "%zhuti%" -attach "%fujian%" -u %youjian% -pw %mima% -base64 -charset Gb2312 >nul
echo.
echo 发送成功!(按任意键退出!)&& pause >nul
论坛跳转: