【问题标题】:Output in Email Body Formatting Warped电子邮件正文格式的输出扭曲
【发布时间】:2014-01-18 17:38:29
【问题描述】:

我对 powershell 完全陌生,正在谷歌上搜索代码。

到目前为止,我已经能够通过电子邮件发送 powershell 查询的结果,并且对它的工作印象深刻。

在命令行上完成查询时效果很好,通过电子邮件将输出传播得很广,并且字段彼此不对齐。

我在下面粘贴了我的命令。我正在查询 Exchange 邮箱的大小,并希望按最大的向下排序。这很好用,我把它放到了一个文本文件中。

然后我阅读文本文件并将其替换为电子邮件的正文。

在 Outlook 电子邮件接收端它看起来像 Outlook 的窗口大小导致文本环绕,不再纵向显示。

有什么我可以做的吗?

谢谢

下面获取数据

Get-WMIObject -Class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName MyExchangeServer | Where-Object {$_.LastWriteTime -le (Get-Date).AddYears(1)} | Select-Object MailboxDisplayName,Size |排序对象大小 - 降序

下面告诉你使用哪个交换服务器

$psEmailServer = "MyExchangeServer"

下面是包含我需要分配给 $body 的数据的文本文件

$body= (Get-Content mailboxsize.txt)

下面使用电子邮件的内容作为电子邮件正文发送电子邮件,但它没有正确显示,并且在 Outlook 中不对齐。

send-mailmessage -from "john.kelly@ie.imptob.com" -to "john.kelly@ie.imptob.com" -subject "test powershell email" -body "$body" 

【问题讨论】:

  • “结果不正确”是什么意思?能发个截图或者链接吗?
  • 您的输出看起来不一样,因为控制台使用固定宽度的字体,而 Outlook 将使用可变间距。如果您想在电子邮件中使用漂亮的表格格式,则需要使用 html。
  • 你需要把它放在身体里吗?您可以附加 txt 文件。

标签: powershell


【解决方案1】:

直到我们看到您的电子邮件看起来如何,我们只能猜测。

但我假设您的意思是您作为电子邮件正文放置的文本文件中的所有行都放在一长行中,并且它们不再在电子邮件中显示为单独的行。我过去遇到过类似的问题并用这个解决了它:

$body= ( (Get-Content mailboxsize.txt) -join "`n")

(你可能不需要最外面的括号)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-26
    • 2011-06-02
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 2013-11-11
    • 1970-01-01
    相关资源
    最近更新 更多