Skip to content

Instantly share code, notes, and snippets.

@rafaelaugustos
Created June 4, 2016 15:28
Show Gist options
  • Save rafaelaugustos/fe99245c7df332b9e771716fbfd371e7 to your computer and use it in GitHub Desktop.
Save rafaelaugustos/fe99245c7df332b9e771716fbfd371e7 to your computer and use it in GitHub Desktop.
<?php
header('Content-Type: text/html; charset=utf-8');
require("../../model/config.php");
include('../phpmailer/class.phpmailer.php');
include('../phpmailer/class.smtp.php');
// Campos para envio da mensagem
$de = utf8_decode('quem esta enviando');
$para = utf8_decode('destinatario');
$assunto = utf8_decode('Assunto');
$html = utf8_decode('Conteudo HTML');
$tabela = "Tabela";
// Campos utilizado para consulta
$campos = "id, nome, email, codStatus";
// Numero Maximo de envio
$quant = 2;
// Tempo de um processo de envio para o outro
$seg = 15;
// Resgata o valor da global inicio
$inicio = $_GET['inicio'];
// Atribui o resultado da soma entre inicio e quantidade
$fim = $inicio + $quant;
// Verifica se foi atribuido valor a variavel "INICIO"
if($inicio == ""){
$inicio = 0;
}else{
$inicio = $_GET['inicio'];
}
// Executa a consulta ou informa um erro caso ocorra
$sql = $pdo->prepare("SELECT ".$campos." FROM ".$tabela." WHERE codStatus = 0 LIMIT ".$inicio.",".$quant."");
$sql->execute();
// Verifica se ainda existem emails a serem enviados
if($sql->rowCount() == 0){
$up = $pdo->prepare("UPDATE ".$tabela." SET codStatus = 0");
$up->execute();
}else{
echo "<meta http-equiv="refresh" content="" . $seg . ",URL=?inicio=". $fim ."">";
}
// Cria o laço repetitivo
while($r = $sql->fetchObject()){
// Adiciona os padões de destinatario
$para = $r->username;
// Cliando a classe PHPMAILER para o envio do newsletter
$mail = new PHPMailer();
$mail->IsSMTP = ('smtp');
$mail->Mailer = ('mail');
$mail->SMTPSecure = 'ssl';
$mail->SMTPAuth = true;
$mail->Username = ;
$mail->Password = ;
$mail->Sender = ;
$mail->From = ;
$mail->FromName = $de;
$mail->Addbcc ($para);
$mail->addReplyTo = ('para-quem-responder-o-email');
$mail->Wordwrap = 50;
$mail->Subject = ($assunto);
$mail->IsHTML = (true);
$texto = $textoAlternativo;
$mail->Body = $html;
$mail->AltBody = $texto;
if($mail->Send()){
echo 'Mensagem enviado com sucesso para: '.$para.'<br>';
// Altero o codigo para 1 para parar o envio do loop
$up = $pdo->prepare("UPDATE ".$tabela." SET codStatus = 0");
$up->execute();
}else{
echo 'Mensagem não enviada para: '.$para.'<br>';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment