【问题标题】:Powershell: Not able to send email using ControlMPowershell:无法使用 ControlM 发送电子邮件
【发布时间】:2021-04-29 15:30:47
【问题描述】:

我可以在盒子上从命令行运行以下示例脚本,但在尝试从 controlm 运行相同的脚本时遇到问题。

# mailtest.ps1
$cmd='Send-MailMessage -Body "body" -To "to@abc.com" -From "from@abc.com" -Subject "subject" -SmtpServer "smtpserver.net" -Port 25
Invoke-Expression $cmd

命令行 - 工作正常:

powershell -NoLogo -NonInteractive -File mailtest.ps1

ControlM - 错误:

powershell -NoLogo -NonInteractive -File mailtest.ps1

Send-MailMessage : Unable to read date from the transport connection: net_io_connectionclosed
...
+ FullyQualifiedErrorId : SmtpException,Microsoft.Powershell.Commands.SendMailMessage

网络位于防火墙后面,但我认为这不是问题,因为邮件是从命令行发送的,没有任何问题。

到目前为止我所尝试的:

  • 已为 TLS 1.0、1.1、1.2 和 SSL 2.0、3.0 启用客户端/服务器
  • 尝试了端口号 - 25、587 和 465 - 它们都不能在 controlM 中工作
  • 尝试过使用 -NoProfile 和 Bypass 参数进行调用

任何关于我在这里遗漏的指针都会有很大的帮助。

【问题讨论】:

    标签: powershell mailmessage control-m


    【解决方案1】:

    这似乎不是 Control-M 问题(尽管由于 Windows 的限制性质,通过 Control-M 运行 PowerShell 脚本可能会出现问题)。

    Control-M 脚本是否在与您运行手动命令行的位置相同的代理上启动?

    作为测试,我建议检查 SMTP 服务器属性并将 IP 地址设置为“全部未签名”,看看这是否能解决问题。

    回到 Control-M 端,启动 PowerShell 脚本的推荐方法是拥有一个指向 ps1 的 cmd 文件 -

    powershell -command "& { ; exit $lastexitcode }"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 2015-06-11
      • 1970-01-01
      • 2015-05-15
      • 2018-03-12
      • 2016-07-21
      • 2010-09-25
      相关资源
      最近更新 更多