Мне нужна помощь, чтобы выяснить, куда мне звонить send_mail ()
. Там, где я сейчас размещаю его в коде, он отправляет электронное письмо для каждого условия, и каждое отправляемое им электронное письмо добавляет еще одну запись как часть набора. Я заинтересован только в отправке одного письма с собранными записями, последнего показанного сообщения (msg4). Могу ли я сделать это в том же цикле? Я не уверен.
Пример:
(Msg1)
Service: MST Engine - Stopped - Manual
(msg2):
Service: MST Engine - Stopped - Manual
Service: MST Logging - Stopped - Manual
(msg3):
Service: MST Engine - Stopped - Manual
Service: MST Logging - Stopped - Manual
Service: MST Server - Stopped - Manual
(msg4): (добавлено только в это письмо)
Service: MST Engine - Stopped - Manual
Service: MST Logging - Stopped - Manual
Service: MST Server - Stopped - Manual
Service: MST Formatter - Stopped - Manual
Вот основная часть, где я устанавливаю условия:
(Я использую пакет Win32 :: OLE имеет метод в (COLLECTION). Так что это не ссылка на массив.)
foreach my $serv (in $servSet)
{
next if $serv->{started};
my $sname = $serv->{name};
my $sstate = $serv->{started};
my $ssmode = $serv->{startmode};
$winsvcs .= "Service: $sname - $servicestate[$sstate] - $ssmode\n";
send_email();
}