【发布时间】:2012-01-18 17:59:02
【问题描述】:
简单地说,我正在尝试从列出目录内容的 Powershell 脚本发送电子邮件。
为了做到这一点,我将文本存储在一个变量中,然后将此变量插入到Send-MailMessage。
我的问题是这个。当我将对象通过管道传递给Out-String 时,它不会插入换行符:
$mailbody += "<p>" + (get-childitem $path | select-object Name | Out-String -width 40) + "</P>"
显然,当在提示符下输入Get-Childitem 时,输出的格式很好地使用换行符,但是当存储到变量然后通过电子邮件发送(在 HTML 电子邮件中)时,没有换行符,这会导致不可读的长文件名字符串。
我该怎么做?
【问题讨论】:
-
可能是换行符在那里,但没有显示?在 HTML 中,新行被视为空格。
-
我认为这就是原因,但是当我删除
-BodyAsHtml开关以确保电子邮件以 plantext 发送时,仍然没有换行符 - 只是空格。 -
您使用 Outlook 作为邮件客户端吗?如果是这样,除非您关闭“从纯文本消息中删除多余的换行符”设置,否则 Outlook 可能会为您删除换行符。
标签: email powershell format newline