我有一个powershell脚本,它发送一封从php脚本调用的电子邮件。一切都很好,直到我通过php变量添加body参数。这条线有效:
$oExec = $WshShell->Run("C:\\path\\powershell.exe C:\\path\\email.ps1 \"{$email}\" \"Test Body"");
接下来的两个都不起作用:
$oExec5 = $WshShell->Run("C:\\path\\powershell.exe C:\\path\\email.ps1 \"{$email}\" \"{$body}\"");
$oExec5 = $WshShell->Run("C:\\path\\powershell.exe C:\\path\\email.ps1 \"{$email}\" {$body}");
我很困惑,起初我认为它与变量的内容有关但我觉得我通过设置$ body =“Test Body”消除了这种可能性,这是硬编码时的确切值。我很难过,请帮忙。
答案 0 :(得分:0)
原来答案非常简单。我在身体信息周围添加了单引号,我的问题就解决了。
$command = "C:\\path\\email.ps1 \"{$email}\" 'This is the body text'";
$oExec5 = $WshShell->Run("C:\\path\\powershell.exe {$command}");
我发现的一个问题是,我可以在正文消息中添加文本长度的字符限制。