Script de PowerShell para enviar un correo con Gmail

Un compañero necesitaba un script de PowerShell que enviase un correo con un texto concreto desde su dirección de email a otra dirección fija, pero no lograba que funcionase correctamente utilizando su cuenta de Gmail. En su día por aquí, ya hace años, hablamos sobre cómo enviar correos desde una cuenta de Gmail usando PHPMailer, así que durante la hora de comer le he echado una mano y he hecho algo sirviéndome del cmdlet Send-MailMessage:

$username   = 'tucorreo@gmail.com'
$password   = 'tupassword'
$secstr     = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$brocolharum = @{
    from       = "tucorreo@gmail.com"
    to         = "correoquerecibe@gmail.com"
    subject    = "Danger Danger, high voltage!"
    smtpserver = "smtp.gmail.com"
    port       = "587"
    body       = "Si te estás leyendo esto me debes un capuccino con licor de avellana"
    credential = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
    usessl     = $true
    verbose    = $true
    DeliveryNotificationOption = "OnFailure"
}

Send-MailMessage @brocolharum

Se trata de un ejemplo muy básico, después podéis adaptarlo a vuestras necesidades.

¿Cómo ver la cabecera de un correo con GMail?

Si tienes una cuenta de Gmail y sus su cliente web para ver los correos es posible que alguna vez te hayas preguntado si se puede ver la cabecera de los mismos. Sí, es posible.

Si entras en el correo del que quieres ver la cabecera comprobarás que a la derecha, al lado del botón de Responder hay un icono con tres puntos (en la imagen está ya marcado).

Al pulsarlo se desplegará un menú en el que debemos seleccionar la opción Mostrar Original. Al hacerlo nos llevará a una pantalla donde veremos todo el código del email, con su cabecera incluída:

Ahí podemos ya copiar la cabecera del correo para lo que la necesitemos.