Bonjour à tous,
Je développe actuellement un script pour la sauvegarde Hyper-V chez nos clients, à travers ce script, j'effectue la sauvegarde des VMs avec Veam, je loggue le tout et à la fin j'envoie un email chez nous qui contient le fichier de log, et tout un tas d'informations dans le corp du mail.
Normalement le body crée est importé depuis un fichier .txt contenant des informations d'un client, voilà à quoi il ressemble :
1 2 3 4 5 6 7 8 9 10 11 12
| 26/11/2015 09:22:09 - [BACKUP] CLIENT1 / PC01
VERSION_SCRIPT: VEAM-HYPERV-01
HDD_BACKUP: E:
DATA_BACKUP: VM1 VM2
DOSSIER_BACKUP: E:\BACKUP
TAILLE_BACKUP: 999999
ESPACE_LIBRE: 9999999999
HDD_SERIE: 0123456789
TAG: CLIENT1
NETBIOS: PC01
DEBUT: 2015-11-26 09:22:06
FIN: 2015-11-26 09:22:12 |
Pour insérer le fichier .txt dans le corp du mail j'utilise :
$Body = [string]::join([environment]::NewLine, (get-content "$BODY_EMAIL"))
Ensuite voilà toute la fonction pour envoyer le mail :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $EmailTo = "rapport@abcdef.fr"
$Subject = "$OBJET"
$Body = [string]::join([environment]::NewLine, (get-content "$BODY_EMAIL"))
$filenameAndPath = "$ERREUR_LOG"
$filenameAndPath2 = "$BACKUP_LOG"
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body)
$LOG1 = New-Object System.Net.Mail.Attachment($filenameAndPath)
$LOG2 = New-Object System.Net.Mail.Attachment($filenameAndPath2)
$SMTPMessage.Attachments.Add($LOG1)
$SMTPMessage.Attachments.Add($LOG2)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $PortSMTP)
$SMTPClient.EnableSsl = $false
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("$EmailFrom", "$MDPSMTP");
$SMTPClient.Send($SMTPMessage) |
Le problème arrive, quand je lis le mail sur un client de messagerie évolué (roundcube par exemple), le corps du mail est bon, les retours à la ligne sont bons, bref il est bien formatté.
Par contre ce qui m'intéresse, c'est le mail en texte brut reçu par notre serveur qui analyse ces emails et lui il ressemble à ça :
1 2 3 4 5 6
| 26/11/2015 09:22:09 - [BACKUP] CLIENT1 / PC01=0D=0AVERSION_SC=
RIPT: VEAM-HYPERV-01=0D=0AHDD_BACKUP: E:=0D=0ADATA_BACKUP: TEST1 =
TEST2=0D=0ADOSSIER_BACKUP: E:\BACKUP=0D=0ATAILLE_BACKUP: 999999=0D=0A=
ESPACE_LIBRE: 9999999999=0D=0AHDD_SERIE: 0123456789=0D=0ATAG: IFO=
M=0D=0ANETBIOS: PC01=0D=0ADEBUT: 2015-11-26 09:22:06=0D=0A=
FIN: 2015-11-26 09:22:12=0D=0A |
En fait, il ne récupere pas du tout la mise en forme du mail, je patauge depuis un peu pour essayer de respecter la mise en forme.
Pour info, avant on utiliser sendmail de Dipisoft pour envoyer les mails, et le corps du mail arrivait bien formatté.
Vous auriez une piste ?
Partager