You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell函数传递-body参数失败:邮件正文为空求助

问题原因及修复方案

你的邮件正文为空的核心问题有两个:

  • 自定义的emailHelp函数没有定义-body参数,调用时传入的$bodyMessage无法被函数接收
  • Send-MailMessage命令里没有引用正文内容的变量

修复后的完整代码

function emailHelp  {
    # 定义-body参数,允许传入正文内容
    param(
        [Parameter(Mandatory=$false)]
        [string]$body
    )
    
    $smtpaddress = "help@help.com"
    $fromsmtpaddress = "needhelp@help.com"

    # 在Send-MailMessage中加入-body参数,引用函数接收的$body变量
    Send-MailMessage -To $smtpaddress -From $fromsmtpaddress -Subject 'I have an issue' -SmtpServer "1.1.1.1" -Port 25 -Body $body
}

---some script here---

# 赋值具体的正文内容
$bodyMessage = "这里是具体的邮件正文内容"

---going to call email function---
 
emailHelp -body $bodyMessage

关键修改点说明

  • 给emailHelp函数添加param块,声明-body参数,确保调用时传入的参数能被函数捕获
  • 在Send-MailMessage命令中添加-Body $body,把接收的正文参数传递给邮件发送命令
  • 调用前必须给$bodyMessage赋值具体文本(原代码仅声明变量未赋值,也会导致正文为空)

内容的提问来源于stack exchange,提问作者Donald Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:58:12