找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 9434|回复: 8

[其他] 求助blat和sendemail邮件复制运行正常,bat就报错

[复制链接]
发表于 2025-2-26 16:19:11 | 显示全部楼层 |阅读模式
本帖最后由 suixinlangzi 于 2025-2-26 18:29 编辑

blat的邮件发送复制代码运行正常,bat就报*** Warning ***  The SMTP server did not accept Auth LOGIN PASSWD value.有哪位大神帮解惑下么?



set name=%date:~0,4%%date:~5,2%%date:~8,2%
set namet=%time:~0,2%%time:~3,2%%time:~6,2%

rem ----邮件主题----
set s="%computername% at %name%  %time%  open "
rem ----邮件内容-----
set body=" %computername% at %name%  %time% "
rem ----收件邮箱-----
set t=123@189.cn
rem ----发件邮箱-----
set f=123@189.cn
rem ----邮箱秘钥-----
set pw=123456
rem ----执行发送-----
C:\automail\blat.exe -body %body% -s %s% -t %t% -server smtp.189.cn -f %f% -u %f% -pw %pw%



下面是sendemail的,也是同样的问题,复制运行没事sendemail.exe[21972]: Email was sent successfully!,直接bat就不行,提示sendemail.exe[30620]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.189.cn:25 failed.

set name=%date:~0,4%%date:~5,2%%date:~8,2%
set namet=%time:~0,2%%time:~3,2%%time:~6,2%

rem ----邮件主题----
set u="%computername% at %name%  %time%  open "
rem ----邮件内容-----
set m=" %computername% at %name%  %time% "
rem ----收件邮箱-----
set t=123@189.cn
rem ----发件邮箱-----
set f=123@189.cn
rem ----邮箱秘钥-----
set pw=123456
rem ----执行发送-----
C:\sendemailnotls\sendemail.exe -f %f% -t %t% -s smtp.189.cn -xu %f% -xp %pw% -u %u% -m %m%
发表于 2025-2-26 16:32:02 | 显示全部楼层
回复 1# suixinlangzi

把你的 bat 文件源码贴出来才能诊断...
 楼主| 发表于 2025-2-26 16:56:14 | 显示全部楼层
回复 2# aloha20200628


    已经贴了,多谢,帮看看,
发表于 2025-2-26 20:14:39 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-2-26 20:22 编辑

回复 3# suixinlangzi

如果在命令行运行 C:\sendemailnotls\sendemail.exe ... 没问题,而在bat文件中运行就会报错且提示密码有问题,有可能是真实密码中包含了%^等字符,如是,则需加倍这些字符输入,例如,源密码=abc%123 则bat文件中应为 set "pw=abc%%123"
 楼主| 发表于 2025-2-26 20:32:17 | 显示全部楼层
回复  suixinlangzi

如果在命令行运行 C:\sendemailnotls\sendemail.exe ... 没问题,而在bat文件中运行 ...
aloha20200628 发表于 2025-2-26 20:14



   我直接给密码也是一样!
 楼主| 发表于 2025-2-26 20:32:31 | 显示全部楼层
回复 4# aloha20200628


    我直接给密码也是同样的报错!按说复制运行和bat应该是一样的,复制运行是没事,就是bat不行
发表于 2025-2-26 21:05:18 | 显示全部楼层
回复 6# suixinlangzi

如果真实密码中确实包含了 %^ 等字符,在bat文件中即便不经%pw%变量传递,直给 -pw 实值也要加倍,如 C:\automail\blat.exe ... -pw "abc%%123" ...
发表于 2025-2-26 22:42:21 | 显示全部楼层
回复 6# suixinlangzi

命令行运行跟BAT运行不全是一样的,尤其涉及到变量的时候。
简单举个例子,用echo命令输出一个%符号,在命令行可以用echo %,但是在BAT里必须用echo %%
发表于 2025-3-1 21:29:22 | 显示全部楼层
试试%pw%之类的用英文双引号引起来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 08:46 , Processed in 0.010526 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表