Envoi de mail

CréationNicolas 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 :

# 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

Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • powershell_mail.txt
  • Dernière modification : 2021/03/05 16:02
  • de nekan