2015-11-17 8 views
0

Очень новый для Powershell. Написал сценарий powershell, который работает отлично, но когда он отправляет почту, он не показывает новый символ линии в теле. Ниже приведены конфигурации:Powershell EMail: Как добавить новую строку в электронную почту?

$EmailFrom = "[email protected]" 
$EmailTo = "[email protected]" 
$Subject = "Disk Space Low: $server" 

$Body = "Server Name: $server, <NEED NEW LINE> Drive: C, <NEED NEW LINE> Total Size: $sizeGB, <NEED NEW LINE> Space Left: $freeSpaceGB" 

$SMTPServer = "scan.opinergo.fn" 
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
#$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("<From mail ID>", "Password"); 
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) 

В кузове я использовал следующее вместо; поискал:

1)% 0D% 0A - не работает, когда пользователь проверяет почту

2) \ п - не работает, когда пользователь проверяет почту

3) < бр> - не работает, когда проверка пользователя mail

Не могли бы вы предложить, что еще я могу использовать для получения новой строки или любых изменений, необходимых в скрипте?

+0

новой строки PowerShell является '\' n' (кавычка-н), вы пробовали это? – TessellatingHeckler

+0

Нет. Не было этого в поисках. Благодарю. Стараясь. – fatherazrael

+0

@TessellatingHeckler Спасибо. Это работает – fatherazrael

ответ

2

(Из моего комментария)

Индикатор новой строки PowerShell является `п (кавычка-п), так что:

$Body = "Server Name: $server, <NEED NEW LINE> Drive: C 

становится:

$Body = "Server Name: $server, `n Drive: C 
1

Индикатор новой строки PowerShell является` n и может использоваться только в двойных кавычках.

$Body = "Server Name: $server, <NEED NEW LINE> Drive: C" 

становится:

$Body = "Server Name: $server, `n Drive: C" 

 Смежные вопросы

  • Нет связанных вопросов^_^