Enviar correos con PowerShell

Tengo que realizar pruebas de envío de correos a unas cuentas con el mismo nombre pero de distinto dominio.




La idea es minimizar al máximo el esfuerzo que se realiza en tareas reiterativas y tediosas.


Lo primero que debemos realizar es permitir la ejecución de scripts no firmados, a no ser que los quieras firmarlos digitalmente, en este ejemplo no es el caso.

# Ejecutar script no firmado - desde consola
Set-ExecutionPolicy unrestricted

Ahora escibimos el script.
Definimos variables con el prefijo $,  luego montamos el comando Send-MailMessage con las variables.

# Definir variables
$date = Get-Date
$remitente = "remitente@dominio.es"
$cuenta1 = "cuenta" 
$destinatario1 = $cuenta1 + "@dominio1.es"   
$destinatario2 = $cuenta1 + "@dominio2.es"   
$destinatario3 = $cuenta1 + "@dominio3.es"  

# Lanzar correos 
Send-MailMessage -to $destinatario1 -from $remitente -subject ("01-Prueba Dominio 1 - " + $date) -body ("Prueba correo - " + $date) -SmtpServer mail.dominio.es
Send-MailMessage -to $destinatario2 -from $remitente -subject ("02-Prueba Dominio 2 - " + $date) -body ("Prueba correo - " + $date) -SmtpServer mail.dominio.es
Send-MailMessage -to $destinatario3 -from $remitente -subject ("03-Prueba Dominio 3 - " + $date) -body ("Prueba correo - " + $date) -SmtpServer mail.dominio.es


Lo guardamos con extensión PowerShell (ps1) y lo ejecutamos por ejemplo desde la linea de comandos.

Ojo! en este ejemplo se usa un servidor de correo que no requiere de autentificación.

No hay comentarios:

Publicar un comentario