Envoi de mail
Création — Nicolas THOREZ 2019/02/24 18:38
L'envoi de mail est très utile pour informer, transmettre un rapport, etc… Pour cela, nous pouvons utiliser la commande Send-MailMessage :
- Référence : Microsoft
# On prépare d'abord les arguments de la commande
# L'expéditeur
$From = "test@shyrkasystem.com"
# Le destinataire
$To = "web@shyrkasystem.com"
# A noter que l'on peut utiliser un tableau pour un envoi à plusieurs destinataires. Dans ce cas :
$To = @("nekan@shyrkasystem.com","web@shyrkasystem.com")
# Le sujet du mail
$Subject = "Test"
# Le corps du message au format TXT
$Body = "Ceci est un message de test."
# Je préfère cependant envoyer des mails au format HTML. Pour cela, je crée un fichier .htm contenant le corps du message.
$Body = Get-Content .\Body.htm -Raw
# On peut aussi vouloir ajouter la valeur d'une variable dans le corps du mail. Dans ce cas, on peut créer plusieurs
# fichiers .htm et additionner les chaînes de caractère ou écrire un chaine de caractère contenant les balises HTML
# et les variables.
# Si le corps est en HTML, on rajoutera le paramètre -BodyAsHtml
# Le serveur SMTP
$SMTP = "mail.shyrkasystem.com"
# Le port
$Port = 465
# Si on utile SSL, on devra rajouter le paramètre -UseSsl
# Les identifiants de connexion
# Ils sont formés d'une combinaison d'un login et d'un mot de passe.
# On utilisera SecureString pour ne pas laisser d'information sensible en clair.
$User = "test@shyrkasystem.com"
$Password = Get-Content -Path .\data.crypt | ConvertTo-SecureString
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User,$Password
# Au besoin, on peut ajouter une pièce jointe. Dans ce cas, il faudra ajouter le paramètre -Attachments
$Attachment = ".\test.txt"
# Il est préférable de rajouter un encodage pour être sûr de l'affichage de notre mail.
$Encoding = [System.Text.Encoding]::UTF8
# Finalement, on ajoute tous nos arguments à la cmdlet
Send-MailMessage -From $From -To $To -Subject $Subject -Body $Body -BodyAsHtml -SmtpServer $SMTP -Port $Port -UseSsl -Credential $Credential -Attachments $Attachment -Encoding $Encoding
Discussion