将正文转换为 HTML 无效
Converting Body to HTML Not Working
我正在尝试将我的正文转换为 HTML,这样它就不会在我的电子邮件中显示为纯文本。
这是代码
$From = ""
$To = ""
$SMTPServer = ""
$SMTPPort = "587"
$Username = ""
$Password = ""
$subject = "Test Powershell"
$body = $htmlreport
$bodyAsHtml = $true
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.Send($From, $To, $subject, $body);
我看不到要将报告发送为 HTML。
$bodyAs
包含 `enter code here`
。你应该删除那个。您也不要在任何地方设置它。
也许可以试试 Send-MailMessage
cmdlet:
Send-MailMessage -SmtpServer $SMTPServer -To $To -From $From -Subject $subject -Body $body -BodyAsHtml
与其将单个字符串传递给 $smtp.Send()
,不如创建一个 MailMessage
对象并将其发送:
$msg = New-Object System.Net.Mail.MailMessage
$msg.From = $From
$msg.To = $To
$msg.Subject = $subject
$msg.Body = $body
$msg.IsBodyHtml = $true # this is where the magic happens
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$smtp.Send($msg) # and then send the message we just composed above
我正在尝试将我的正文转换为 HTML,这样它就不会在我的电子邮件中显示为纯文本。
这是代码
$From = ""
$To = ""
$SMTPServer = ""
$SMTPPort = "587"
$Username = ""
$Password = ""
$subject = "Test Powershell"
$body = $htmlreport
$bodyAsHtml = $true
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.Send($From, $To, $subject, $body);
我看不到要将报告发送为 HTML。
$bodyAs
包含 `enter code here`
。你应该删除那个。您也不要在任何地方设置它。
也许可以试试 Send-MailMessage
cmdlet:
Send-MailMessage -SmtpServer $SMTPServer -To $To -From $From -Subject $subject -Body $body -BodyAsHtml
与其将单个字符串传递给 $smtp.Send()
,不如创建一个 MailMessage
对象并将其发送:
$msg = New-Object System.Net.Mail.MailMessage
$msg.From = $From
$msg.To = $To
$msg.Subject = $subject
$msg.Body = $body
$msg.IsBodyHtml = $true # this is where the magic happens
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
$smtp.Send($msg) # and then send the message we just composed above