
Cuando automatizamos tareas mediante scripts, como los que programamos con PowerShell, surge una necesidad recurrente: notificar al administrador o al usuario final sobre el resultado del proceso. ¿Se ejecutó correctamente? ¿Hubo errores? ¿Qué datos generó el script? Una forma eficaz de responder automáticamente a estas preguntas es enviar un correo electrónico al finalizar la ejecución.
Aquí es donde entra en juego Brevo, una plataforma de comunicaciones que permite enviar correos electrónicos, mensajes SMS y mensajes por WhatsApp desde tus aplicaciones o scripts. Su facilidad de uso y su plan gratuito con soporte SMTP la convierten en una opción ideal para quienes buscan una solución rápida, fiable y económica.
En esta guía aprenderás:
- Por qué es útil enviar correos desde PowerShell.
- Qué es Brevo y cómo crear una cuenta.
- Cómo configurar y enviar correos desde PowerShell utilizando Brevo.
- Casos de uso prácticos y recomendaciones finales.
Tabla de contenidos
¿Por qué enviar correos desde PowerShell?
Enviar correos electrónicos desde PowerShell puede parecer una tarea sencilla, pero en realidad permite resolver desafíos importantes de comunicación, monitoreo y mantenimiento en entornos automatizados. A continuación, algunos escenarios donde esta funcionalidad marca una gran diferencia:
Notificaciones de procesos automatizados
Supongamos que has programado un script para realizar copias de seguridad todas las noches. ¿Cómo sabrías si se ejecutó correctamente o si falló por algún motivo? Enviar un correo con el resumen del log es una forma eficiente de mantenerte informado sin tener que revisar manualmente cada día.

Alertas por fallos o eventos críticos
Puedes usar PowerShell para monitorear servicios, espacio en disco, disponibilidad de aplicaciones, etc. Si ocurre algo crítico —como que un servicio esencial se detiene o el espacio libre en el disco C: cae por debajo de un umbral— el script puede enviar automáticamente un correo de alerta.
Reportes de tareas administrativas
PowerShell es ampliamente utilizado para tareas administrativas como la creación de usuarios, configuración de políticas o instalación de software. Enviar un resumen por correo de estas tareas mejora la trazabilidad y facilita la comunicación entre equipos técnicos.
¿Qué es Brevo y cómo crear una cuenta?
Brevo (anteriormente conocido como Sendinblue) es una plataforma integral de marketing y comunicación que permite enviar correos electrónicos transaccionales, campañas promocionales, mensajes SMS y mensajes por WhatsApp. Puedes integrarla fácilmente en tus scripts o aplicaciones mediante su API o mediante una conexión SMTP estándar.

Principales características de Brevo:
- Plan gratuito que permite enviar hasta 300 correos electrónicos diarios.
- Interfaz web intuitiva y fácil de usar.
- Compatibilidad con SMTP y API RESTful.
- Alta tasa de entregabilidad, lo que garantiza que tus correos lleguen a destino.
Cómo crear una cuenta en Brevo
Para comenzar a enviar correos desde PowerShell utilizando Brevo, primero necesitas crear una cuenta gratuita. El proceso es rápido y sencillo:
- Accede al sitio web de Brevo: Visita https://www.brevo.com
- Regístrate con tu dirección de correo electrónico: Puedes usar cualquier dirección válida. Durante el registro, Brevo te pedirá algunos datos básicos sobre ti o tu empresa.
- Verifica tu cuenta: Revisa tu bandeja de entrada y haz clic en el enlace de confirmación enviado por Brevo.
- Configura un remitente (sender): Antes de poder enviar correos, debes registrar una dirección de correo electrónico como remitente.
- En el panel de Brevo, ve a la sección “Remitentes” (Senders).
- Añade tu dirección de correo y sigue el proceso de verificación.
- Obtén tus credenciales SMTP:
- En el menú lateral, donde aparece tu nombre de usuario, selecciona “SMTP & API”.
- Verás el servidor SMTP (
smtp-relay.brevo.com
) y podrás generar una contraseña SMTP específica para conexiones externas. - Importante: esta contraseña es distinta de la que usas para iniciar sesión en Brevo.
Enviar correos desde PowerShell utilizando Brevo
Una vez que tienes tu cuenta de Brevo configurada y las credenciales SMTP a mano, ya puedes crear un script en PowerShell (versión 5.1 o superior) para enviar correos electrónicos de forma automática. Esto es especialmente útil para notificar resultados, enviar alertas o compartir logs generados por tus scripts.
Ejemplo de script PowerShell
A continuación, te muestro un ejemplo funcional que toma como entrada un archivo de log y envía su contenido por correo electrónico:
param([string]$LogFile) # Configura tus datos $from = "[email protected]" $to = "[email protected]" $subject = "Informe automático desde PowerShell" $smtpServer = "smtp-relay.brevo.com" $smtpPort = 587 $user = "[email protected]" $password = "brevo-password" # Contenido del log (últimas 30 líneas) $body = Get-Content $LogFile | Select-Object -Last 30 | Out-String # Configura el cliente SMTP $smtp = New-Object Net.Mail.SmtpClient($smtpServer, $smtpPort) $smtp.EnableSsl = $true $smtp.Credentials = New-Object System.Net.NetworkCredential($user, $password) # Crea el mensaje $message = New-Object System.Net.Mail.MailMessage $message.From = $from $message.To.Add($to) $message.Subject = $subject $message.Body = $body # Enviar el correo $smtp.Send($message)
Importante: recuerda reemplazar las direcciones de correo, usuario SMTP y contraseña por tus propios datos de configuración.
Cómo usar el script
Este script recibe un parámetro llamado -LogFile
que indica la ruta del archivo de log a enviar. Puedes ejecutarlo desde PowerShell de la siguiente forma:
.\EnviarCorreo.ps1 -LogFile "C:\Logs\log.txt"
El cuerpo del mensaje incluirá las últimas 30 líneas del archivo especificado, lo cual es útil para obtener un resumen reciente del proceso automatizado.

Enviar correos en formato HTML
Si quieres que el cuerpo del mensaje admita formato HTML (por ejemplo, para usar negritas, colores o tablas), simplemente añade esta línea antes de enviar el mensaje:
$message.IsBodyHtml = $true
Y asegúrate de que la variable $body
contenga contenido HTML válido.
Enviar a múltiples destinatarios
Si deseas que el mensaje se envíe a varios destinatarios, simplemente añade más direcciones utilizando .To.Add()
:
$message.To.Add("[email protected]") $message.To.Add("[email protected]")
También puedes usar .Cc.Add()
o .Bcc.Add()
si necesitas copiar o enviar como copia oculta a otros usuarios.
Adjuntar archivos
En lugar de (o además de) incluir el contenido del log en el cuerpo del mensaje, puedes adjuntar el archivo completo. Esto es útil si el log es muy extenso o si deseas conservar el formato original.
$attachment = New-Object System.Net.Mail.Attachment($LogFile) $message.Attachments.Add($attachment)
Puedes adjuntar cualquier archivo que necesites: informes PDF, archivos CSV, capturas de pantalla, etc.
Manejo de errores
Para evitar que el script falle silenciosamente en caso de problemas de red o configuración, se recomienda encapsular el envío del correo dentro de un bloque try/catch
:
try { $smtp.Send($message) Write-Host "Correo enviado correctamente." } catch { Write-Error "Error al enviar el correo: $_" }
Esto te permitirá detectar errores como credenciales incorrectas, conexión fallida al servidor SMTP o problemas con los destinatarios.
Conclusiones
Enviar correos electrónicos desde PowerShell utilizando Brevo es una solución potente y versátil para automatizar notificaciones en entornos Windows. Ya sea para compartir logs, emitir alertas o enviar reportes periódicos, incorporar esta funcionalidad en tus scripts mejora significativamente el control, la trazabilidad y la capacidad de reacción ante eventos en tus sistemas.
Brevo destaca como plataforma porque combina simplicidad, fiabilidad y un plan gratuito generoso, todo sin necesidad de configurar ni mantener un servidor SMTP propio. Su integración con PowerShell es directa y accesible incluso para administradores o desarrolladores con poca experiencia previa en automatización de notificaciones por correo.
Algunas recomendaciones finales para mejorar el uso de este herramienta:
- Usa formato HTML si quieres que tus correos sean más claros, visuales y legibles.
- Protege tus credenciales SMTP: evita incluir contraseñas en texto plano. Considera el uso del almacén de credenciales de Windows o archivos cifrados (lo trataremos en una próxima entrada).
- Automatiza por completo: integra el script con el Programador de tareas de Windows para que se ejecute en horarios definidos, como parte de tu flujo de mantenimiento o monitoreo.
Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.
Deja una respuesta