Recherche…


Introduction

Une technique utile pour les administrateurs Exchange Server consiste à pouvoir envoyer des messages électroniques via SMTP à partir de PowerShell. Selon la version de PowerShell installée sur votre ordinateur ou votre serveur, il existe plusieurs façons d'envoyer des e-mails via powershell. Il existe une option d’applet de commande native simple et facile à utiliser. Il utilise l'applet de commande Send-MailMessage .

Paramètres

Paramètre Détails
Pièces jointes <String []> Chemin et noms de fichiers des fichiers à joindre au message. Les chemins et les noms de fichiers peuvent être acheminés vers Send-MailMessage.
Cci <String []> Les adresses e-mail qui reçoivent une copie d'un e-mail mais n'apparaissent pas en tant que destinataire dans le message. Entrez des noms (facultatif) et l'adresse e-mail (obligatoire), par exemple Nom de [email protected] ou quelqu'[email protected].
Corps <String_> Contenu du message électronique.
BodyAsHtml Il indique que le contenu est au format HTML.
Cc <String []> Les adresses électroniques qui reçoivent une copie d'un message électronique. Entrez des noms (facultatif) et l'adresse e-mail (obligatoire), par exemple Nom de [email protected] ou quelqu'[email protected].
Credential Spécifie un compte d'utilisateur autorisé à envoyer un message à partir d'une adresse électronique spécifiée. La valeur par défaut est l'utilisateur actuel. Entrez un nom tel que User ou Domain \ User, ou entrez un objet PSCredential.
LivraisonNotificationOption Spécifie les options de notification de remise pour le message électronique. Plusieurs valeurs peuvent être spécifiées. Les notifications de livraison sont envoyées dans le message à l'adresse spécifiée dans le paramètre À. Valeurs acceptables: Aucune, OnSuccess, OnFailure, Delay, Never.
Codage Encodage pour le corps et le sujet. Valeurs acceptables: ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default, OEM.
De Les adresses e-mail à partir desquelles le courrier est envoyé. Entrez des noms (facultatif) et l'adresse e-mail (requis), tels que Nom de [email protected] ou quelqu'[email protected].
Port Port alternatif sur le serveur SMTP. La valeur par défaut est 25. Disponible à partir de Windows PowerShell 3.0.
Priorité Priorité du message électronique. Valeurs acceptables: Normal, Haut, Bas.
SmtpServer Nom du serveur SMTP qui envoie le message électronique. La valeur par défaut est la valeur de la variable $ PSEmailServer.
Assujettir Objet du message électronique.
À Les adresses e-mail auxquelles le courrier est envoyé. Entrez des noms (facultatif) et l'adresse e-mail (obligatoire), par exemple, nom de quelqu'[email protected] ou quelqu'[email protected]
UseSsl Utilise le protocole SSL (Secure Sockets Layer) pour établir une connexion avec l'ordinateur distant pour envoyer du courrier

Message d'envoi simple

Send-MailMessage -From [email protected] -Subject "Email Subject" -To [email protected] -SmtpServer smtp.com

Send-MailMessage avec des paramètres prédéfinis

$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 - Mail avec un fichier .txt dans le message du corps

# 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow