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