Envio de email em massa com email() php em pdo e mysql

1. Envio de email em massa com email() php em pdo e mysql

Rogério Garcia Filho
rogarfil

(usa Ubuntu)

Enviado em 03/08/2017 - 16:13h

Através deste exemplo: https://www.vivaolinux.com.br/script/Script-para-enviar-emails-em-grande-quantidade, criei o script abaixo, ele recebe todas as variáveis mas não me mostra o erro, a página abre e não processa nada, peço aos amigos a ajuda para terminar este trabalho, segue o script:

$conexao = conexao::getInstance();

// CONFIGURAÇÃO DOS E-MAILS (ASSUNTO, CORPO DE MENSAGEM, REMETENTE, E-MAIL DO REMETENTE)
$acao = (isset($_POST['acao'])) ? $_POST['acao'] : '';
$subject = (isset($_POST['subject_matter'])) ? $_POST['subject_matter'] : '';
$text = (isset($_POST['comment'])) ? $_POST['comment'] : '';

//configurações do e-mail
$nome_remetente = "Nóis manda newsletter";
$email_remetente = "nois@site.com.br";

$quant = 2; //número de mensagens enviadas de cada vez
$sec = 10; //tempo entre o envio de um pacote e outro (em segundos)

$ok = 0;
$inicio = 0;
$fim = $inicio + $quant;

if($acao == 'enviar'):
$sql = 'SELECT id, name, email, status, created FROM newsletter WHERE status=1 GROUP BY email LIMIT $inicio, $fim';
try {
$stm = $conexao->prepare($sql);
$stm->execute();
$contar = $stm->rowCount();
if($contar == 0 ) {
while($news = $stm->fetch(PDO::FETCH_OBJ)) {
$id = $news->id;
$nome = $news->name;
$to = $news->email;
$status = $news->status;
$headers = "From: ".$nome_remetente." <".$email_remetente.">";
$headers = "Return-path: ".$nome_remetente." <".$email_remetente.">";
mail($to,$subject,$text,$headers, "-r". $email_remetente);
$sql = 'UPDATE newsletter SET status = 1';
printf("<font face='tahoma'>".$id.") mensagem para <b>".$to."</b> <font color='#ff0000'><b>enviada com sucesso!</b></font></font>");
$ok = 1;
}//while
} else {
echo '<li>Não existem newsletters cadastrados</li>';
}
} catch(PDOException $e) { $e->getMessage(); }

if(!$ok):
echo('<meta http-equiv=\"refresh\" content=\"' . $sec . '\">');
endif;
endif;

Abraços,
Rogarfil


  


2. R: Envio de email em massa com email() php em pdo e mysql

marcio wendel
Marcio_Wendel

(usa CentOS)

Enviado em 10/08/2017 - 19:42h

ja tentou fazer um var_dump($_POST);
para ver se realmente esta processando as variaveis nao testei teu script mas depois vou ter a curiosidade de testa-lo

$sql = 'SELECT id, name, email, status, created FROM newsletter WHERE status=1 GROUP BY email LIMIT $inicio, $fim';
troque por este
$sql = 'SELECT id, name, email, status, created FROM newsletter WHERE status=1 ORDER BY email ASC LIMIT $inicio, $fim';
troque
$sql = 'UPDATE newsletter SET status = 1';
por este
$res = $conexao->prepare("UPDATE newsletter SET status='0' WHERE id='$id'");
$res->execute();
MiStAkE






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts