PowerShell
Enviando email
Buscar..
Introducción
Una técnica útil para los administradores de Exchange Server es poder enviar mensajes de correo electrónico a través de SMTP desde PowerShell. Dependiendo de la versión de PowerShell instalada en su computadora o servidor, hay varias formas de enviar correos electrónicos a través de powershell. Existe una opción de cmdlet nativa que es simple y fácil de usar. Utiliza el cmdlet Send-MailMessage .
Parámetros
Parámetro | Detalles |
---|---|
Adjuntos <String []> | Ruta y nombres de archivos de los archivos que se adjuntarán al mensaje. Las rutas y los nombres de archivo se pueden canalizar a Send-MailMessage. |
Bcc <String []> | Direcciones de correo electrónico que reciben una copia de un mensaje de correo electrónico pero no aparecen como destinatarios en el mensaje. Ingrese los nombres (opcional) y la dirección de correo electrónico (requerido), como Nombre a [email protected] o [email protected]. |
Cuerpo <String_> | Contenido del mensaje de correo electrónico. |
BodyAsHtml | Indica que el contenido está en formato HTML. |
Cc <String []> | Direcciones de correo electrónico que reciben una copia de un mensaje de correo electrónico. Ingrese los nombres (opcional) y la dirección de correo electrónico (requerido), como Nombre a [email protected] o [email protected]. |
Credencial | Especifica una cuenta de usuario que tiene permiso para enviar mensajes desde la dirección de correo electrónico especificada. El valor predeterminado es el usuario actual. Ingrese un nombre como Usuario o Dominio \ Usuario, o ingrese un objeto PSCredential. |
EntregaNotificaciónOpción | Especifica las opciones de notificación de entrega para el mensaje de correo electrónico. Se pueden especificar múltiples valores. Las notificaciones de entrega se envían en el mensaje a la dirección especificada en el parámetro Para. Valores aceptables: ninguno, OnSuccess, OnFailure, Delay, Never. |
Codificación | Codificación para el cuerpo y sujeto. Valores aceptables: ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Predeterminado, OEM. |
Desde | Direcciones de correo electrónico desde las que se envía el correo. Ingrese los nombres (opcional) y la dirección de correo electrónico (requiera), como Nombre a [email protected] o [email protected]. |
Puerto | Puerto alternativo en el servidor SMTP. El valor predeterminado es 25. Disponible desde Windows PowerShell 3.0. |
Prioridad | Prioridad del mensaje de correo electrónico. Valores aceptables: Normal, Alto, Bajo. |
Servidor SMTP | Nombre del servidor SMTP que envía el mensaje de correo electrónico. El valor predeterminado es el valor de la variable $ PSEmailServer. |
Tema | Asunto del mensaje de correo electrónico. |
A | Direcciones de correo electrónico a las que se envía el correo. Ingrese los nombres (opcional) y la dirección de correo electrónico (requerido), como Nombre [email protected] o [email protected] |
UseSsl | Utiliza el protocolo Secure Sockets Layer (SSL) para establecer una conexión con la computadora remota para enviar correo |
Mensaje simple de envío de correo
Send-MailMessage -From [email protected] -Subject "Email Subject" -To [email protected] -SmtpServer smtp.com
Send-MailMessage con parámetros predefinidos
$parameters = @{
From = '[email protected]'
To = '[email protected]'
Subject = 'Email Subject'
Attachments = @('C:\files\samplefile1.txt','C:\files\samplefile2.txt')
BCC = '[email protected]'
Body = 'Email body'
BodyAsHTML = $False
CC = '[email protected]'
Credential = Get-Credential
DeliveryNotificationOption = 'onSuccess'
Encoding = 'UTF8'
Port = '25'
Priority = 'High'
SmtpServer = 'smtp.com'
UseSSL = $True
}
# Notice: Splatting requires @ instead of $ in front of variable name
Send-MailMessage @parameters
SMTPClient - Correo con archivo .txt en el mensaje del cuerpo
# Define the txt which will be in the email body
$Txt_File = "c:\file.txt"
function Send_mail {
#Define Email settings
$EmailFrom = "[email protected]"
$EmailTo = "[email protected]"
$Txt_Body = Get-Content $Txt_File -RAW
$Body = $Body_Custom + $Txt_Body
$Subject = "Email Subject"
$SMTPServer = "smtpserver.domain.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
$SMTPClient.EnableSsl = $false
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
}
$Body_Custom = "This is what contain file.txt : "
Send_mail
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow