Форматирование тела электронной почты Powershell не отображается должным образом - PullRequest
1 голос
/ 08 мая 2020

Код собирает информацию ping и traceroute и отправляет ее по электронной почте. Результат ping отображается в теле письма, но информация трассировки отформатирована неправильно. См. Приведенный ниже пример в теле письма. Информация должна передаваться из переменной в тело письма, как это сделано ниже, а не прикрепляться в виде файла журнала.

Output seen in the Body of the email

Код следующий:

$TimeSpan = New-TimeSpan -Minutes 1
$EndTime = (Get-Date).AddMinutes($TimeSpan.TotalMinutes).ToString("HH:mm")
# $log_file='c:\timee.log'

cls

do
{

write-host 'Gathering logs..wait 2 mins'
$1+=ping google.com |Select-String "Reply"| foreach $_ { $a = Get-Date; 
$a.ToString() + " " + $_ } #| 
Out-File -Append -Encoding UTF8 -FilePath  $log_file
$2+= tracert google.com 
}
until ($EndTime -eq (Get-Date -Format HH:mm))  

$EmailFrom = "from@gmail.com"
$EmailTo = "to@hotmail.com"
$Subject = "Notification from yy"
$Body = $1+$2 
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object 
System.Net.NetworkCredential("from@gmail.com", 
"passwd");
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

#Clear-Variable -name '1'


Write-Host "All done" -ForegroundColor Green
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...