[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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%

回复 1# suixinlangzi

把你的 bat 文件源码贴出来才能诊断...

TOP

回复 2# aloha20200628


    已经贴了,多谢,帮看看,

TOP

本帖最后由 aloha20200628 于 2025-2-26 20:22 编辑

回复 3# suixinlangzi

如果在命令行运行 C:\sendemailnotls\sendemail.exe ... 没问题,而在bat文件中运行就会报错且提示密码有问题,有可能是真实密码中包含了%^等字符,如是,则需加倍这些字符输入,例如,源密码=abc%123 则bat文件中应为 set "pw=abc%%123"

TOP

回复  suixinlangzi

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



   我直接给密码也是一样!

TOP

回复 4# aloha20200628


    我直接给密码也是同样的报错!按说复制运行和bat应该是一样的,复制运行是没事,就是bat不行

TOP

回复 6# suixinlangzi

如果真实密码中确实包含了 %^ 等字符,在bat文件中即便不经%pw%变量传递,直给 -pw 实值也要加倍,如 C:\automail\blat.exe ... -pw "abc%%123" ...

TOP

回复 6# suixinlangzi

命令行运行跟BAT运行不全是一样的,尤其涉及到变量的时候。
简单举个例子,用echo命令输出一个%符号,在命令行可以用echo %,但是在BAT里必须用echo %%

TOP

试试%pw%之类的用英文双引号引起来

TOP

返回列表