#!hs2
#!load hamster.hsm
#!load hmessage.hsm
var($listaf, $i, $messo, $fileo, $content, $risp, $nmail, $to, $oggetto, $headerallegato, $allegato, $lung, $da)
$listaf= listalloc()
$messo = listalloc()
$nmail=int(iniread("","noninviate","nmail","0"))
ListFiles ($listaf, HamPath + "mails\mail.out\*.*", true)
$i=0
while ($i < ListCount ($listaf))
$fileo = ListGet ($listaf, $i)
Inc ($i)
ListLoad($messo, $fileo)
$da = 0
$headerallegato = MsgGetHeader_mio($messo, "Content-Disposition:", $da)
while ($headerallegato != "")
$da = MsgIndexOfHeader_mio($messo, "Content-Disposition:", $da)+1
allegato
$headerallegato = MsgGetHeader_mio($messo, "Content-Disposition:", $da)
endwhile
endwhile
IniWrite ("","noninviate","nmail",$nmail)
listfree ($listaf)
listfree ($messo)
print ("Allegati controllati")
quit
sub allegato
$lung = len($headerallegato)
$allegato = LowerCase (Copy ($headerallegato, $lung-3, 3))
if ( $allegato = "exe" || $allegato = "vbs" || $allegato= "shs" || $allegato= "bat")
$to = MsgGetHeader($messo, "To:")
$oggetto = MsgGetHeader($messo, "Subject:")
if (MsgBox("Stà per essere inviato un messaggio con allegati pericolosi" +chr(13) _
+chr(13)+ "indirizzato a: " +$to+chr(13)+ "con oggetto: " +$oggetto+chr(13) _
+chr(13)+ "Inviarlo?", "", 0x20|0x4|0x40000) = 7)
$risp = filecopy($fileo, HamPath + "virus\sospettovirus_"+$nmail+".msg")
$nmail = $nmail+1
$risp = filedelete ($fileo)
MsgBox("Il messaggio NON è stato inviato, ma spostato nella cartella virus!")
endIf
endif
endsub