-3

有人可以帮我解决这个问题吗,我不明白我需要把邮件参数、smtp 服务器等放在哪里。

这是脚本:

Function sendEmail 
{ param($from,$to,$subject,$smtphost,$htmlFileName) 
$body = Get-Content $htmlFileName 
$smtp= New-Object System.Net.Mail.SmtpClient $smtphost 
$msg = New-Object System.Net.Mail.MailMessage $from, $to, $subject, $body 
$msg.isBodyhtml = $true 
$smtp.send($msg) 

} 
4

2 回答 2

2

除非您仍在使用 PowerShell v1(您不应该)使用Send-MailMessage而不是System.Net.Mail.SmtpClientand System.Net.Mail.MailMessage

Send-MailMessage -SmtpServer $smtphost `
  -To $to `
  -From $from `
  -Subject $subject `
  -Body (Get-Content $htmlFileName | Out-String) `
  -BodyAsHtml
于 2013-10-14T10:48:45.623 回答
0

我不完全确定我是否正确理解了您,但是,我认为您在实际使用您的功能时遇到了困难,因为该脚本很好。

正如已经指出的,Send-MailMessage 比 .net 更容易使用。

如果你想从 shell 调用你的函数,首先你必须导入它

Import-Module sendemail.ps1

然后你可以通过填写参数从你的shell中调用它。

于 2013-10-14T11:42:22.210 回答