Bonjour à tous,
Je suis en train de dévelloper un script pour m'aviser lorsque l'espace disque est faible sur les serveur de mon entreprise et j'ai quelques difficulté à comprendre le fonctionnement de Email::Send. Voici mon script et j'explique ce que je ne comprends pas par la suite:
Voilà ce que je ne comprends pas: à la ligne où j'initialise $message, j'ai un erreur me disant <<Can't find string terminator "__MESSAGE__" anywhere before EOF>>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 use warnings; use strict; use Win32::AdminMisc; use Email::Send; my $machine = Win32::AdminMisc::GetComputerName(); my @drives = Win32::AdminMisc::GetDrives(DRIVE_FIXED);# Array des lecteurs fixes foreach(@drives){ my ($Total, $Free) = Win32::AdminMisc::GetDriveSpace($_);# Calcul de l'espace utilisé et libre $Total=$Total/1073741824; $Free=$Free/1073741824; my $libre = sprintf("%.2f", $Free); my $tot = sprintf("%.2f", $Total); my $low=$Free/$Total*100;# calcul du pourcentage d'espace libre my $pourcentage = sprintf("%.1f", $low); #test pour le pourcentage de l'espace libre sur le disque if ($pourcentage <= 15){ # Génération du courriel my $message = <<'__MESSAGE__'; To: <a href="mailto:support@infopresse.com">support@infopresse.com</a> From: <a href="mailto:eric.lafreniere@infopresse.com">eric.lafreniere@infopresse.com</a> Subject: Espace libre sur les serveurs L'espace libre sur au moins un disque est en dessous des 15% __MESSAGE__ my $sender = Email::Send->new({mailer => 'SMTP'}); $sender->mailer_args([Host => 24.201.245.36]); $sender->send($message); # more complex my $bulk = Email::Send->new; for ( qw[SMTP Sendmail Qmail] ) { $bulk->mailer($_) and last if $bulk->mailer_available($_); } $bulk->message_modifier(sub { my ($sender, $message, $to) = @_; $message->header_set(To => qq[$to\@geeknest.com]) }); my @to = qw[casey chastity evelina casey_jr marshall]; my $rv = $bulk->send($message, $_) for @to; } }
Je comprends que j'ai besoin d'un caractère pour indiquer qe j'ai terminer d'entrer le texte de mon courriel mais lequel et je le place où ? Après le __MESSAGE__ seul sur sa ligne ?
Et quant au reste, j'ai besoin de quoi au juste? Le bout sous le # more complex, j'en doute mais vuq ue je ne connais pas ce module, je n'ose pas l'enlever.
Je vais remettre mon problème entre vos mains compétantes (surtout vos cerveau) et attendre une réponse de votre part car ni avec le perldoc ni cpan je n'y arrive. Autre petite question, puis-je mettre l'infop de certaines variable dans le contenu de mon courriel ?
Pour des raisons pratique, répondez-moi à l'adresse suivante eric.lafreniere@infopresse.com svp
Partager