Solución:
Si está en PowerShell 2.0, simplemente use el cmdlet integrado Send-MailMessage:
C:PS>Send-MailMessage -from "User01 <[email protected]>" `
-to "User02 <[email protected]>", `
"User03 <[email protected]>" `
-subject "Sending the Attachment" `
-body "Forgot to send the attachment. Sending now." `
-Attachment "data.csv" -smtpServer smtp.fabrikam.com
Si copia / pega esto, tenga cuidado con el espacio adicional que se agrega después de la comilla invertida. A PowerShell no le gusta.
Conseguí que lo anterior funcionara quitando la línea
$attachment = new-object System.Net.Mail.Attachment $file
y cambiando
$message.Attachments.Add($attachment)
para
$message.Attachments.Add($file)
Si bien la solución proporcionada por @Keith Hill sería mejor, incluso con muchas miradas no pude hacer que funcionara.
Esto funcionó para mí usando powershell-
Definir variables:
$fromaddress = "[email protected]"
$toaddress = "[email protected]"
$Subject = "Test message"
$body = "Please find attached - test"
$attachment = "C:temptest.csv"
$smtpserver = "mail.pd.com"
Utilice las variables en el script:
$message = new-object System.Net.Mail.MailMessage
$message.From = $fromaddress
$message.To.Add($toaddress)
$message.IsBodyHtml = $True
$message.Subject = $Subject
$attach = new-object Net.Mail.Attachment($attachment)
$message.Attachments.Add($attach)
$message.body = $body
$smtp = new-object Net.Mail.SmtpClient($smtpserver)
$smtp.Send($message)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)