send-mailmessage 将 html 样式标签替换为 System.String[]
send-mailmessage replaces html style tags with System.String[]
我正在尝试使用 send-mailmessage
在 powershell (v2) 中发送电子邮件。
我运行一个MySQL查询,转换成html如下:
$htmlbody = $mysqlresult | `
ConvertTo-Html -property field1, `
field2, `
field3 `
-pre "<style>table{border: 3px solid #000000;}</style>"
然后我发送电子邮件为:
Send-MailMessage -to "$ToAddress" `
-From "$FromAddress" `
-Subject "Subject Line" `
-BodyasHtml "$htmlbody" `
-SmtpServer "$SMTP"
电子邮件已发送,我收到了包含 table 中数据的电子邮件。
但是 ... 部分被替换为 System.String[]
据我所知,里面没有 'funny' 个字符。谁能解释这是为什么?
Select 您的属性,然后将对象输送到 ConvertTo-Html
:
$htmlbody = $mysqlresult |
select field1, field2, field3 |
ConvertTo-Html -Pre '<style>...</style>'
根据字段的实际数据类型,您可能需要首先将字符串数组转换为字符串,例如通过 calculated properties。示例:
$htmlbody = $mysqlresult |
select field1, field2, @{n='field3';e={$_.field3 -join ' '}} |
ConvertTo-Html -Pre '<style>...</style>'
我正在尝试使用 send-mailmessage
在 powershell (v2) 中发送电子邮件。
我运行一个MySQL查询,转换成html如下:
$htmlbody = $mysqlresult | `
ConvertTo-Html -property field1, `
field2, `
field3 `
-pre "<style>table{border: 3px solid #000000;}</style>"
然后我发送电子邮件为:
Send-MailMessage -to "$ToAddress" `
-From "$FromAddress" `
-Subject "Subject Line" `
-BodyasHtml "$htmlbody" `
-SmtpServer "$SMTP"
电子邮件已发送,我收到了包含 table 中数据的电子邮件。
但是 ... 部分被替换为 System.String[]
据我所知,里面没有 'funny' 个字符。谁能解释这是为什么?
Select 您的属性,然后将对象输送到 ConvertTo-Html
:
$htmlbody = $mysqlresult |
select field1, field2, field3 |
ConvertTo-Html -Pre '<style>...</style>'
根据字段的实际数据类型,您可能需要首先将字符串数组转换为字符串,例如通过 calculated properties。示例:
$htmlbody = $mysqlresult |
select field1, field2, @{n='field3';e={$_.field3 -join ' '}} |
ConvertTo-Html -Pre '<style>...</style>'