从PHP通过Powershell脚本发送电子邮件

时间:2014-10-22 19:39:14

标签: php powershell

我有一个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”消除了这种可能性,这是硬编码时的确切值。我很难过,请帮忙。

1 个答案:

答案 0 :(得分:0)

原来答案非常简单。我在身体信息周围添加了单引号,我的问题就解决了。

$command = "C:\\path\\email.ps1 \"{$email}\" 'This is the body text'";

$oExec5 = $WshShell->Run("C:\\path\\powershell.exe {$command}");

我发现的一个问题是,我可以在正文消息中添加文本长度的字符限制。