我正在尝试使用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"
电子邮件发送,我在表格中收到包含数据的电子邮件。
但是...部分被替换为System.String[]
据我所知,那里没有“有趣”的人物。任何人都可以解释为什么会这样吗?
答案 0 :(得分:1)
在将对象导入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>'