Powershell es un potente entorno de secuencias de comandos integrado (ISE) que se puede utilizar para escribir y depurar secuencias de comandos. Este entorno de secuencias de comandos puede realizar una amplia gama de funciones, incluido el envío de correos electrónicos mediante secuencias de comandos y cmdlets. Esto puede ayudar a los administradores del sistema a automatizar el proceso de envío de correos electrónicos masivos.
Para usar PowerShell para enviar correos electrónicos, los usuarios deben especificar los parámetros, incluido el servidor SMTP que desean usar para enviar el correo. Todos estos paraderos se analizan en el artículo de hoy.
Parámetros que puede usar para enviar correos electrónicos desde PowerShell
Estos son algunos de los principales parámetros que puede usar para enviar correos electrónicos usando PowerShell.
-De: Dirección de correo electrónico de el remitente -Para: dirección de correo electrónico del destinatario del correo-Cc: dirección de correo electrónico del destinatario que recibe la copia carbónica del mensaje de correo electrónico-Archivos adjuntos: ruta del archivo del archivo adjunto que se enviará con el correo electrónico-Asunto: asunto del correo electrónico-Cuerpo: Cuerpo (mensaje principal) del correo electrónico-Credenciales: credenciales de inicio de sesión del servidor SMTP. Esto se utiliza para autenticar el servidor SMTP-SmtpServer: Dirección del servidor SMTP (por ejemplo: smtp.gmail.com)-Puerto: Puerto en el servidor SMTP -Usar Ssl: Usar protocolo de capa de sockets seguros.
Enviar correos electrónicos desde PowerShell
El método más común para enviar correos electrónicos usando PowerShell es mediante el cmdlet Send-MailMessage. Hay otras herramientas populares como system.netmail API, componente EASendMAil y Microsoft Graph API.
El cmdlet Send-MailMessage , incluso después de haber sido etiquetado como obsoleto por Microsoft, sigue siendo la opción más conveniente para enviar correos electrónicos desde PowerShell.
Nota: Incluso puede usar el valor $PSEmailServer, como la configuración SMTP en lugar del Smtp-Server. Esta es la configuración SMTP predeterminada en Powershell.
Envíe correos electrónicos desde PowerShell con Gmail SMTP
Antes de mayo de 2022, para usar Gmail SMTP para enviar correos electrónicos desde PowerShell, los usuarios primero tenían que habilitar las aplicaciones menos seguras desde el control de seguridad de Google. panel.
Después de que Google eliminó esta función, para usar el servidor SMPT de Google, los usuarios deben deshabilitar la autenticación de dos factores en su cuenta de Gmail, crear contraseñas de aplicaciones y luego usar esas credenciales en el código de PowerShell.
Una vez que haya configurado la contraseña de la aplicación, puede usar los cmdlets para enviar el correo electrónico. Para usar el SMPT de Gmail, también debe tener SSL habilitado. Todos los parámetros requeridos para usar el SMTP de Gmail para enviar un correo electrónico se usan en esta secuencia de comandos:
$EmailFrom=”[email protected]”$EmailTo=”[email protected]”$Subject=”Email Asunto”$Cuerpo=”Mensaje principal”. $SMTPServer=”smtp.gmail.com”$SMTPClient=Nuevo objeto Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl=$true $SMTPClient.Credentials=Nuevo objeto System.Net.NetworkCredential(“nombre de usuario”,”clave”); $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
Esta es la lista de servidores SMTP que puede usar, junto con su dirección y puertos.
PuertoGmail smtp.gmail.com587Outlook.comsmtp.mail.outlook.com587Yahoosmtp.mail.yahoo.com587AOLsmtp.mail.me.com587AOL smtp.aol.com465