【问题标题】:Cannot Get Send-MailMessage to Send Multiple Lines无法获取 Send-MailMessage 以发送多行
【发布时间】:2016-05-24 19:40:45
【问题描述】:

我提前为此道歉,因为我在整个网络上看到很多关于它的问题,但由于某种原因我仍然遇到问题。

我有一个脚本,它创建一个数组,其中动态添加了信息。脚本完成后,我需要它通过电子邮件将该信息发送给我。问题是每一行都结合到我得到 1 行。例如:

$Body = @()
$Body += "1"
$Body += "2"
$Body += "3"
$Body += "4"

这是我的发送命令:

Send-MailMessage -To $Recipients -From $Sender -Smtp $SMTP $Subject "Test" -Body ($Body | Out-String)

我在邮件正文中得到的是:1234

我试过这个 for 循环将 `n 附加到每行的开头(第一行除外),如下所示:

for ($i = 0; $i -lt Body.Count; $i++){
    if($i -eq 0){
        Write-Host $i
    }else{
        $Body[$i] = "`n" + $Body[$i]
        Write-Host $Body[$i]
    }
}

结果更好,但我得到了额外的一行:

1

2

3

4

最终我只想要这个:

1
2
3
4

过去,我通过创建这样的变量获得了我想要的格式:

$Body = @"

This is the email I want to send.  It formats great if:
    1) I want to make all the content static.

Is it possible to create the `$Body variable like this but add line by line dynamically and maintain a serpate line. (without extra lines)?

"@  

我错过了什么?它必须是简单的...感谢您的帮助!

【问题讨论】:

  • 或许-Body ($body -join "`r`n")?
  • 实际上,我怀疑这是您的电子邮件链中的“有用”组合换行符的内容。 Outlook 默认执行此操作,并且仅在没有缩进且行之间只有一个换行符时才会执行此操作。您的最后一个示例不会触发它,但您的“我只想要这个”示例会。
  • -Body ($body -join "rn") 如果我设置一个演示并在 Powershell 窗口中运行它,但在脚本的上下文中,我可以将所有内容放在一行中。复制和粘贴只是为了确定……我会继续调查这个和 Ryan 的评论。

标签: powershell powershell-2.0


【解决方案1】:

哇,这真是一件很挑剔的事情......我发现使用它会让一切看起来都正确(正如上面 Ryan 所建议的那样):

-Body ($Body -Join "`r`n")

但在我的实际脚本的上下文中,它不起作用。好吧,看来这一切都与约会的方式有关。这是要显示的简化:

不工作

$Body = @()
$Body += "Beginning processing on: " + (Get-Date)
$Body += "No advertisements found, exiting"

也不起作用

$Body = @()
$DateTime = Get-Date
$Body += "Beginning processing on: $DateTime"
$Body += "No advertisements found, exiting"

当我删除与日期有关的任何内容时,格式是正确的。最终只需要一个简单的“。”让它正常工作。

工作 - 注意第三行

$Body = @()
$DateTime = Get-Date
$Body += "Beginning processing on: $DateTime."     #Note the period at the end of the line.
$Body += "No advertisements found, exiting"

大概我可以连接它并且它会起作用,但是哦,好吧,我保持它不变。我不认为它对一个时期会那么挑剔,但现在我知道了。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2019-05-16
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-18
  • 2019-02-15
  • 1970-01-01
相关资源
最近更新 更多