Diariamente enviamos correos electrónicos a través de plataformas como Gmail, Outlook, Yahoo, etc. Pero existen otras formas de poder realizar esta tarea sin tener que entrar a la aplicación, y una de ellas es hacerlo a través de PowerShell, ya que este incluye el cmdlet «Send-MailMessage» el cual permite el envío de emails

En este post voy a explicar como poder mandar correos electrónicos leyendo todo la información que queramos mandar a través de un archivo «.csv» . Los pasos necesarios para realizar esta tarea son:

1. Abrir un documento Excel donde escribiremos la información a enviar: Necesitaremos crear 3 columnas como en la siguiente imagen

Send_Email

1. Información a enviar

2. Guardar el archivo: a continuación lo guardaremos como un archivo «.csv» delimitado por comas. Abrimos dicho archivo con el bloc de notas, nos dirigimos a edición, reemplazar, y reemplazamos los «;» por «,». 

3. Abrir PowerShell ISE y escribir lo siguiente:


Ya podemos enviar emails con información básica, pero… ¿y si queremos adjuntar algún tipo de archivo?. No hay que preocuparse, con este cmdlet también se puede, ya que cuenta con el parámetro «Attachments», donde pondremos la ruta del archivo que queremos adjuntar.

Para realizar esto debemos añadir una columna mas en el Excel del cual leemos la información. Sería algo así:

send

2. Información completa a enviar

Una vez tengamos esto, haremos lo mismo que en el script anterior pero añadiendo el parámetro «Attachments».
Para que todo este mejor programado, he tratado las excepciones y creado una función que alerta cuando se realiza correctamente el envío o cuando algo ha fallado. Quedarí así:

 


*Nota: usar siempre el parametro «UseSsl». Si no se pone, sacará un error por consola como el siguiente:

send2


0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.