cls # declaration des variables à modifier #dossier de reception $Folder = "D:\2018-TEST\IN\" $Crypfile = "" $strBodyText = "" $reffile = $Folder + 'ref.txt' #variable pour lister dossier de reception $i = '' $domainrecept = '@hmailserver2018.local' $domainsend = '@serverlog.interne' #Fonction Mail Function Mail($strSubject, $strBody, $strSenderemail, $strRecipientemail, $AttachFile) { $strSMTP = "192.168.0.106" #Change this to your SMTP server $MailMessage = New-Object System.Net.Mail.MailMessage $SMTPClient = New-Object System.Net.Mail.smtpClient $SMTPClient.host = $strSMTP $Recipient = New-Object System.Net.Mail.MailAddress($strRecipientemail,'') $Sender = New-Object System.Net.Mail.MailAddress($strSenderemail,'') $MailMessage.Sender = $Sender $MailMessage.From = $Sender $MailMessage.Subject = $strSubject $MailMessage.To.add($Recipient) $MailMessage.Body = $strBody if ($AttachFile -ne $null) {$MailMessage.attachments.add($AttachFile) } $SMTPClient.Send($MailMessage) } #Verification du fichier REF.txt $ref = get-content $reffile [int]$i = $ref #Verification du nombre de dossier present dans \IN $NbFolder = Get-ChildItem -directory $folder #Boucle tant que le nombre de Dossier est superieur a la réference alors : While ( $NbFolder.Count -gt $i) { #incrementation de la reference $i++ #determination du chemin du dossier $Foldermail = $folder + $i #lecture dans le repertoire cible $FILESMS1 = $Foldermail + "\" + $i + ".txt" $filesms = Get-content $FILESMS1 #reinitilisation de la variable $a = 1 ForEach ($line in $filesms) { #Lecture du fichier TXT SMS If ($a -eq 1) { $strSender = $line + $domainsend } If ($a -eq 2) { $strRecipient = $line + $domainrecept } If ($a -eq 3) { $strSubject = $line } If ($a -eq 4) { $strBody = $line } If ($a -gt 4) { $strBody += $line } $a++ } #Envoie du mail Mail $strSubject $strBody $strSender $strRecipient #$Attachment #Modification de la valeur du fichier de ref $ref = New-Item $reffile -ItemType file -Value $i -Force }