1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
Start-Transcript -Path "C:\Program Files\test\Logs\Envoi-Ventes.rtf"
#Formater la date au format AAAAMMJJ ...
[String]$date = Get-Date -format ddMMyyyy-HHmm
#Envoi mail
$Expediteur = Serveurtest@XXX.com
$Destinataire = MisterX@XXX.com
$DestinataireError = MisterX@XXXX.com
#Objet et corps du mail
$Objetmail = Fichier Fichier01 de la test de test
$Corpsmail = Vous trouverez en pièce jointe le fichier des ventes de la journée d hier
$ObjetmailError1 = Fichier01 - serveur1 Injoignable, impossible d envoyer le fichier des ventes de test
$CorpsmailError1 = Le fichier des ventes (en piece jointe) n a pas pu etre transmis sur le serveur, il a été déplacé dans le répertoire d archivage du serveur de la test Vérifiez la connexion avec serveur1
$ObjetmailError2 = Fichier01 introuvable - Le fichier des ventes de test est introuvable
$CorpsmailError2 = Il n y a pas de fichier des ventes généré dans le répertoire d export de pour test
#Fichier que l'on va envoyer en pièce jointe
$MonFichier = "D:\Export\Fichier01.csv"
$FichierExport = "C:\Program Files (x86)\Export\Fichier01.csv"
$FichierArchive = "C:\Program Files (x86)\Archives\Fichier01.csv"
$DossierCible = "\\192.168.0.1\tests"
# Fichier archive
[String]$RnFichierArchive = $date + '_Fichier01.csv'
#Serveur smtp
$SMTPServer = smtp.orange.fr
#Identifiant SMTP
$SMTPAuthUsername = "XXXXXXXXXXXX@orange.fr"
$SMTPAuthPassword = "XXXXXXXX"
#On ajoute un nouvel objet qui va rassembler nos variables précédentes
$Mail = new-object System.Net.Mail.MailMessage $Expediteur, $Destinataire, $Objetmail, $Corpsmail
$MailError1 = new-object System.Net.Mail.MailMessage $Expediteur, $DestinataireError, $ObjetmailError1, $CorpsmailError1
$MailError2 = new-object System.Net.Mail.MailMessage $Expediteur, $DestinataireError, $ObjetmailError2, $CorpsmailError2
If ((Test-Path $MonFichier) -eq $True)
{
#On cré une archive du fichier et on renomme avec la date du jour :
Move-Item -Path $MonFichier -Destination $FichierExport -Force
Copy-Item -Path $FichierExport -Destination $FichierArchive -Force
rni $FichierArchive $RnFichierArchive
#On ajoute un nouvel objet qui va associer la variable attachment à notre variable précédement crée,
#fichier
$PieceJointe = new-object System.Net.Mail.Attachment $FichierExport
#On va ajouter à notre message, qui a déjà les variables du début, la variable attachment va être associé
#à une pièce jointe
$Mail.Attachments.Add($PieceJointe)
$MailError1.Attachments.Add($PieceJointe)
$SMTPclient = new-object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword)
#On envoie notre mail avec fichier dans tous les cas
#$SMTPclient.Send($Mail)
If ((Test-Path $DossierCible) -eq $True){
Copy-Item -Path $FichierExport -Destination $DossierCible
}else{
#On envoie notre mail avec fichier si serveur1 injoignable
$SMTPclient.Send($MailError1)
}
$PieceJointe.Dispose()
Remove-Item $FichierExport
}else{
#On envoie le mail d'erreur pour fichier introuvable
$SMTPclient.Send($MailError2)
}
Stop-Transcript |
Partager