【问题标题】:Error when try to send email with sendEmail尝试使用 sendEmail 发送电子邮件时出错
【发布时间】:2021-09-01 04:52:51
【问题描述】:

我想使用 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\encrypted\2021_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\encrypted\2021_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

可能是什么问题?为什么单独运行正常但从bat文件执行却报错?

【问题讨论】:

    标签: email tcp smtp port sendmail


    【解决方案1】:

    我发现了问题。 当您运行 bat 文件时,密码中的“%”字符被替换为“26”,因此密码不正确。 解决方案是使用 %% 而不是 %。 2%% 等于 1%。

    【讨论】:

      猜你喜欢
      • 2017-10-30
      • 1970-01-01
      • 2019-01-11
      • 2015-05-05
      • 1970-01-01
      • 2015-12-21
      • 2019-01-13
      • 1970-01-01
      相关资源
      最近更新 更多