Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email Powershell电子邮件输出格式不正确_Email_Powershell - Fatal编程技术网

Email Powershell电子邮件输出格式不正确

Email Powershell电子邮件输出格式不正确,email,powershell,Email,Powershell,在过去的几个小时里,我一直在尝试各种方法来解决下面的问题,添加了我在这里研究的其他工作脚本中的部分,但现在我需要一双新的眼睛来向我指出显而易见的问题 这是我的脚本,它执行以下操作: 列出特定位置的所有文件夹,将文件夹路径放入文本文件中 在循环中,使用文本文件检查每个文件夹中最近的文件,然后输出由“[”表示的最近10个时间戳 通过电子邮件发送结果 所有上述工作,我有正确的信息电子邮件。问题是,电子邮件到达同一行没有格式 我从以前的工作脚本中提取了样式标签,所以我不确定哪里出了问题。有什么想法吗 $

在过去的几个小时里,我一直在尝试各种方法来解决下面的问题,添加了我在这里研究的其他工作脚本中的部分,但现在我需要一双新的眼睛来向我指出显而易见的问题

这是我的脚本,它执行以下操作:

列出特定位置的所有文件夹,将文件夹路径放入文本文件中 在循环中,使用文本文件检查每个文件夹中最近的文件,然后输出由“[”表示的最近10个时间戳 通过电子邮件发送结果 所有上述工作,我有正确的信息电子邮件。问题是,电子邮件到达同一行没有格式

我从以前的工作脚本中提取了样式标签,所以我不确定哪里出了问题。有什么想法吗

$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse:collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding:     5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"
$subject = "Processing Log Check at " + (Get-Date -Format g)
$logpaths = Get-Content -Path C:\Powershell\xxxx\scenariologlocation.txt 
$output = foreach ($logpath in $logpaths)
{
Write-Output $logpath
Get-ChildItem -path $logpath | sort LastWriteTime | select -ExpandProperty FullName -last 1 | Out-File C:\Powershell\path.txt
$path = Get-Content -Path C:\Powershell\path.txt
Get-Content -Path $path | Select-String -SimpleMatch "[" | select Line -last 10 | format-table -HideTableHeaders | Out-String
}
$body = (ConvertTo-Html -Head $style -body $output | Out-String)
Send-MailMessage -From "xxxxxx" -To "xxxxxx" -Subject $subject -Body $body -BodyAsHtml -SmtpServer "xxxxxxx"

我认为不应该将字符串传递给$output,然后再传递给Convertto Html-body

在我看来,剧本的最后一部分应该是

$output = foreach ($logpath in $logpaths)
{
Write-Output $logpath
Get-ChildItem -path $logpath | sort LastWriteTime | select -ExpandProperty FullName -last 1 | Out-File C:\Powershell\path.txt
$path = Get-Content -Path C:\Powershell\path.txt
Get-Content -Path $path | Select-String -SimpleMatch "[" | select Line -last 10
}
$body = ($output | ConvertTo-Html -Head $style) | Out-String
Send-MailMessage -From "xxxxxx" -To "xxxxxx" -Subject $subject -Body $body -BodyAsHtml -SmtpServer "xxxxxxx"

这样Convertto Html就可以在$output中的所有对象上构建表。我真的不知道是否有必要将Html管道传输到Out字符串。这里没有Powershell。但我认为这应该会有所帮助。

我认为不应该将字符串传递到$output,然后再传递给Convertto Html-body

在我看来,剧本的最后一部分应该是

$output = foreach ($logpath in $logpaths)
{
Write-Output $logpath
Get-ChildItem -path $logpath | sort LastWriteTime | select -ExpandProperty FullName -last 1 | Out-File C:\Powershell\path.txt
$path = Get-Content -Path C:\Powershell\path.txt
Get-Content -Path $path | Select-String -SimpleMatch "[" | select Line -last 10
}
$body = ($output | ConvertTo-Html -Head $style) | Out-String
Send-MailMessage -From "xxxxxx" -To "xxxxxx" -Subject $subject -Body $body -BodyAsHtml -SmtpServer "xxxxxxx"

因此Convertto Html可以在$output中的所有对象上构建表。我真的不知道是否有必要将Html管道输出字符串。这里没有Powershell。但我认为这应该会有所帮助。

在进行了大量的篡改和煽动之后,我最终重新编写了这些内容,并以另一种方式将我需要的内容写入电子邮件


我不能100%地相信我需要的东西可以从我的原始代码中实现,而不需要重新编写。

经过大量的修改和炫耀,我最终重新编写了很多东西,并以另一种方式将我需要的东西写进了电子邮件


我不能100%相信我需要的东西可以通过我的原始代码实现,而无需重新编写。

谢谢,这会带来进步,它会生成一封格式化的电子邮件,但是现在生成的内容不正确。我会稍加修改,看看我能想出什么……谢谢,这会带来进步,它会生成一封格式化的电子邮件,但是现在制作的e内容不正确。我会稍加修改,看看我能想出什么。。。