【问题标题】:Sending -replace HTML email发送 -replace HTML 电子邮件
【发布时间】:2017-01-16 19:48:25
【问题描述】:

我正在尝试使用 MailMessage 对象通过 PowerShell 发送电子邮件。该脚本使用Import-CSV 使用文件,然后在电子邮件正文中使用ConvertTo-HTML。我添加了一些替换的 HTML,因为我发送到的电子邮件客户端忽略了 <style> 标签。

这是我的脚本:

$smtpServer = "x.x.x.x"
$smtpFrom = "RepairSummary@email.org"
$smtpTo = "recipient@email.org"
$messageSubject = "Weekly Student Device Repair Summary $((Get-Date).ToShortDateString())"

$message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto
$message.Subject = $messageSubject
$message.IsBodyHTML = $true

$summ = Import-Csv -Path 'C:\folder\file.csv'

$message.body = @"
<html>
    <body>
    Hello,<br><br>
    Here is your weekly repair summary.<br><br>
        $($summ | ConvertTo-Html)<br><br>
    Thank you,<br><br>
    Technology
    </body>
<html>
"@

$finalHTML = $message.body -replace "<table", "<table border='0' cellspacing='0' cellpadding='10' style='border: 1px solid black; border-collapse: collapse;'"
$finalHTML = $finalHTML -replace "<th", "<th border='0' cellspacing='0' cellpadding='0' style='border: 1px solid black; border-collapse: collapse; padding:5px;'"
$finalHTML = $finalHTML -replace "<td", "<td border='0' cellspacing='0' cellpadding='0' style='border: 1px solid black; border-collapse: collapse; padding:5px;'"

$finalHTML | Out-File "c:\folder\file.html"

$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($finalHTML)

我很困惑,因为| Out-File 可以正常工作,并且看起来完全符合我希望电子邮件正文的外观。

虽然$smtp.Send($finalHTML) 出错了,但是:

“找不到“发送”和参数计数的重载:'1'”。

如果我将$smpt.Send($finalHTML) 替换为$smpt.Send($message),脚本运行,电子邮件发送,它是HTML,但没有应用$finalHTML

【问题讨论】:

    标签: powershell mailmessage


    【解决方案1】:

    因为Send 方法将System.Net.Mail.MailMessage 对象作为参数,所以您可能希望将$finalHTML 分配给$message.body 并传递消息:

    # ....
    $message.body = $finalHTML
    $smtp = New-Object Net.Mail.SmtpClient($smtpServer)
    $smtp.Send($message)
    

    【讨论】:

    • 做到了。非常感谢。我的 tshooting 走在了正确的轨道上,但你成功了。再次感谢您。
    猜你喜欢
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2012-08-22
    • 2016-03-15
    • 2011-01-01
    • 2011-03-26
    相关资源
    最近更新 更多