PowerShell发送HTML邮件显示源码问题求助
问题描述
我写了一段PowerShell代码用来发送邮件,但邮件正文显示的是完整HTML源码(比如<html xmlns="http://www.w3.org/1999/xhtml">这类标签),不是渲染后的格式化内容。
邮件示例源码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>HTML TABLE</title> </head><body> <h2>Folders older than 30 days</h2> <div> Folders were removed on - now <br></br> Location: \\Server01\XFER\Cory </div> <br></br> <table> </table> </body></html>
邮件显示情况:正文直接展示上述HTML标签,未渲染成带标题、换行的可视化格式。
当前使用的PowerShell代码:
$EmailFrom = “testing1@outlook.com” $EmailTo = “testing1@outlook.com” $Subject = “Test” $body = ConvertTo-Html -PreContent @" <h2>Folders older than 30 days </h2> <div> Folders were removed now <br> </br> Location: here </div> <br> </br> "@ $SMTPServer = “smtp.outlook.com” $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("testing1@outlook.com", "powershell") $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body )
解决方法
核心问题是你使用了SmtpClient.Send()的简单参数重载,它默认将邮件正文识别为纯文本,导致HTML标签直接显示。要让HTML正常渲染,需要创建MailMessage对象并明确设置IsBodyHtml = $true,再通过SmtpClient发送该对象。
修改后的完整代码
$EmailFrom = "testing1@outlook.com" $EmailTo = "testing1@outlook.com" $Subject = "Test" $body = ConvertTo-Html -PreContent @" <h2>Folders older than 30 days </h2> <div> Folders were removed now <br> </br> Location: here </div> <br> </br> "@ $SMTPServer = "smtp.outlook.com" $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("testing1@outlook.com", "powershell") # 创建MailMessage对象并开启HTML格式支持 $mailMessage = New-Object System.Net.Mail.MailMessage($EmailFrom, $EmailTo, $Subject, $body) $mailMessage.IsBodyHtml = $true # 发送邮件 $SMTPClient.Send($mailMessage)
额外提示
ConvertTo-Html生成的是完整HTML文档,设置IsBodyHtml = $true后,邮件客户端会自动解析渲染标签。- 代码中请使用英文半角引号,避免因中文引号引发语法错误。
内容的提问来源于stack exchange,提问作者rolltide2022
相关产品推荐
相关产品推荐

