mrcyberspacer
(usa Outra)
Enviado em 28/11/2012 - 15:35h
Tenho um script em perl de envio em massa de e-mails, quero colocar uma pause e time nele, o objetivo é que após x envios faça uma pausa e volte a enviar após y minutos.
Script:
#!/usr/local/bin/perl
## use: perl enviar.pl lista.txt "remetente@mail.com" "assunto" html.html
$ARGC=@ARGV;
if ($ARGC !=4) {
printf "$0 <mailist> <remetente> <assunto> <html.htm>\n\n";
#printf "Script de envio de e-mails";
exit(1);
}
$mailtype = "content-type: text/html";
$sendmail = '/usr/sbin/sendmail';
$sender = $ARGV[1];
$subject = $ARGV[2];
$efile = $ARGV[0];
$emar = $ARGV[0];
$count=1;
open(FOO, $ARGV[3]);
@foo = <FOO>;
$corpo = join("\n", @foo);
open (BANDFIT, "$emar") || die "Can't Open $emar";
while(<BANDFIT>) {
($ID,
$options) = split(/\|/,$_);
chop($options);
foreach ($ID) {
$recipient = $ID;
open (SENDMAIL, "| $sendmail -t");
print SENDMAIL "$mailtype\n";
print SENDMAIL "Subject: $subject\n";
print SENDMAIL "From: $sender\n";
print SENDMAIL "To: $recipient\n\n";
print SENDMAIL "$corpo\n\n";
close (SENDMAIL);
printf "Enviado para $recipient [ OK $count ]";
$count++;
}
}
close(BANDFIT);