Saltar al contenido

Cómo adjuntar un archivo a un correo electrónico con PowerShell

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *