#!/usr/bin/php -e
<?php
// igr Mailer 0.1
// by igr <igor@wwsecurity.org>
// '-e' para debuging
// nao eh considerado spam em clientes hotmail ;D
// para compatibilidade com php 4 e 5
$argv = $_SERVER['argv'];
$argc = $_SERVER['argc'];
// para melhor 'debuging'
error_reporting(E_ALL);
set_time_limit(0);
if( $argc < 6 ){
echo "\n";
echo "PHP igr Mailer 0.1 - igor@wwsecurity.org\n";
echo "Uso: \n";
echo "php -e igr.txt {FROM NOME} {FROM EMAIL} {ASSUNTO} {LISTA} {ARQUIVO
MSG} [INTERVALO]\n\n";
echo "Exemplo:\n";
echo "./igr.txt Mordomo mordomo@hpg.com.br Bem-vindo lista-hpg.txt email
-msg.txt\n";
echo $argv['1'];
//echo $argc;
exit(1);
}
else {
$script = trim($argv['0']);
$fromname = "MusicalCards";
$frommail = "envio@musicalcards.com.br";
$subject = "Voce recebeu um cartao de Fernanda";
$file_ls = trim($argv['4']);
$file_msg = trim($argv['5']);
$interval = trim(@$argv['6']);
if( empty($interval) ) $interval = 0;
$donen = 0;
$error = 0;
// confere se os arquivos existem
if( !is_file($file_ls) ) {
echo "ERRO: O arquivo definido como lista ('$file_ls') nao exist
e. Saindo...\n";
exit(1);
}
else if( !is_file($file_msg) ) {
echo "ERRO: O arquivo definido como mensagem ('$file_msg') nao e
xiste. Saindo...\n";
exit(1);
}
// pega o conteudo da lista
$list = file($file_ls);
$list = array_unique($list);
$total = count($list);
// pega o conteudo da mensagem e quebra as linha, se muito grandes
$id = fopen($file_msg,"r");
$msg = fread($id,filesize($file_msg));
$msg = wordwrap($msg, 70);
// pega o 'servidor' do email
$mailserver = explode("@",$frommail,2);
$mailserver = $mailserver['1'];
// muda algumas coisas dos arquivos de configuracao
@ini_set("sendmail_from", $frommail);
@ini_set("time_limit",0);
// define os headers do email
// esse eh o segredo de nao se considerado spam, e ser mais realista ;]
$headers = "From: $fromname <$frommail>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "Content-Transfer-encoding: 8bit\n";
$headers .= "Reply-To: $fromname <$frommail>\n";
$headers .= "Return-Path: $frommail\n";
$headers .= "Message-ID: <".md5(uniqid(time()))."@$mailserver>\n";
$headers .= "X-Priority: 1\n";
$headers .= "X-MSmail-Priority: High\n";
$headers .= "X-Mailer: Microsoft Office Outlook, Build 11.0.5510\n";
$headers .= "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441";
// envia os emails
echo "\n";
echo "Iniciando o envio dos emails...\n";
echo "De: $fromname <$frommail>\n";
echo "Assunto: $subject\n";
echo "Lista: $file_ls\n";
echo "Mensagem: $file_msg\n";
echo "Total de Emails: $total\n\n";
echo str_repeat("-",20) . "\n";
while (list($pos, $val) = each($list)) {
$val = trim($val);
echo "No. " . ($pos+1) . " de $total\n";
echo "Go Go Go " . $val . " Affirmative!\n";
if( mail($val, $subject, $msg, $headers) ){
$donen++;
echo "HeaDSh0t ($donen enviados ok | $error erros)\n";
}
else{
$error++;
echo "aff.. q camper fdp!! ($donen enviados ok | $error
erros)\n";
}
echo str_repeat("-",20) . "\n";
sleep($interval);
}
echo "\n";
echo "ate que fim heim!\n";
echo "$total emails no total\n";
echo "$donen frags\n";
echo "$error campers fdp!\n\n";
}
?>
|