PowerShell
Envoi d'email
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