Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Envoi de mail ====== <label type="info">Création</label> --- //[[nekan@shyrkasystem.com|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 : [[https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Send-MailMessage?view=powershell-6|Microsoft]] <sxh powershell># 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 </sxh> ~~DISCUSSION~~ powershell_mail.txt Dernière modification : 2021/03/05 16:02de nekan