尝试使用 sendEmail 发送电子邮件时出错
Error when try to send email with sendEmail
我想使用 sendEmail 发送自动电子邮件。
如果我 运行 以下行单独工作:
sendemail.exe -f "payslip@dgroup.com" -t "dn.john@dgroup.com" -u "Payslip: DN JOHN, marca 1567, may 2021" -o message-file=mail_body_payslip.txt -o tls=no -o username="payslip@dgroup.com" -o password="hfsjfb&^%" -s webmail.dgroup.com:26 -o timeout=5 -xu payslip@dgroup.com -xp hfsjfb&^% -a "C:\Payslips\encrypted21_05_1702_DN_JOHN.pdf" -l email_log.txt
但是,如果我尝试从 bat 文件 运行 它不起作用。
这是 bat 文件:
@echo.
@echo.
echo Starting email session... >> email_log.txt
date /t >> email_log.txt
time /t >> email_log.txt
@echo.
@echo Verifying files...
@echo.
@echo Sending mails...
sendemail.exe -f "payslip@dgroup.com" -t "dn.john@dgroup.com" -u "Payslip: DN JOHN, marca 1567, may 2021" -o message-file=mail_body_payslip.txt -o tls=no -o username="payslip@dgroup.com" -o password="hfsjfb&^%" -s webmail.dgroup.com:26 -o timeout=5 -xu payslip@dgroup.com -xp hfsjfb&^% -a "C:\Payslips\encrypted21_05_1702_DN_JOHN.pdf" -l email_log.txt
@echo.
@echo.
@echo Payslip was sent. Verify email_log.txt
@echo.
@pause
当我 运行 bat 文件时,出现以下错误:
Jun 16 14:01:55 srv3 sendemail.exe[2532]: ERROR => Connection attempt to localhost:25 failed: IO::Socket::INET: connect: Unknown error
如果我 运行 telnet localhost:25 我明白了:
Could not open connection to the host, on port 23: Connect failed
可能是什么问题?为什么 运行ning 单独运行正常,但从 bat 文件执行却出现错误?
我找到问题了。
当您 运行 bat 文件时,密码中的“%”字符被替换为“26”,因此密码不正确。
解决方案是使用 %% 而不是 %。
两个 %% 等于一个 %.
我想使用 sendEmail 发送自动电子邮件。 如果我 运行 以下行单独工作:
sendemail.exe -f "payslip@dgroup.com" -t "dn.john@dgroup.com" -u "Payslip: DN JOHN, marca 1567, may 2021" -o message-file=mail_body_payslip.txt -o tls=no -o username="payslip@dgroup.com" -o password="hfsjfb&^%" -s webmail.dgroup.com:26 -o timeout=5 -xu payslip@dgroup.com -xp hfsjfb&^% -a "C:\Payslips\encrypted21_05_1702_DN_JOHN.pdf" -l email_log.txt
但是,如果我尝试从 bat 文件 运行 它不起作用。 这是 bat 文件:
@echo.
@echo.
echo Starting email session... >> email_log.txt
date /t >> email_log.txt
time /t >> email_log.txt
@echo.
@echo Verifying files...
@echo.
@echo Sending mails...
sendemail.exe -f "payslip@dgroup.com" -t "dn.john@dgroup.com" -u "Payslip: DN JOHN, marca 1567, may 2021" -o message-file=mail_body_payslip.txt -o tls=no -o username="payslip@dgroup.com" -o password="hfsjfb&^%" -s webmail.dgroup.com:26 -o timeout=5 -xu payslip@dgroup.com -xp hfsjfb&^% -a "C:\Payslips\encrypted21_05_1702_DN_JOHN.pdf" -l email_log.txt
@echo.
@echo.
@echo Payslip was sent. Verify email_log.txt
@echo.
@pause
当我 运行 bat 文件时,出现以下错误:
Jun 16 14:01:55 srv3 sendemail.exe[2532]: ERROR => Connection attempt to localhost:25 failed: IO::Socket::INET: connect: Unknown error
如果我 运行 telnet localhost:25 我明白了:
Could not open connection to the host, on port 23: Connect failed
可能是什么问题?为什么 运行ning 单独运行正常,但从 bat 文件执行却出现错误?
我找到问题了。 当您 运行 bat 文件时,密码中的“%”字符被替换为“26”,因此密码不正确。 解决方案是使用 %% 而不是 %。 两个 %% 等于一个 %.