Отправка электронной почты через скрипт Powershell из переполнения стека

У меня есть скрипт powershell, который отправляет письмо, которое вызывается из php-скрипта. Все прекрасно работает, пока я не добавлю параметр body через переменную php. Эта строка работает:

$oExec = $WshShell->Run("C:\\path\\powershell.exe C:\\path\\email.ps1 \"{$email}\" \"Test Body"");

Эти следующие 2 не работают:

$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

Решение

Оказывается, ответ был довольно прост. Я добавил одинарные кавычки вокруг сообщения тела, и моя проблема была решена.

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

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

Одна проблема, которую я обнаружил, заключается в том, что, как представляется, существует ограничение на длину текста в тексте сообщения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]