Ir para conteúdo
Fórum Script Brasil
  • 0

Envio de E-mail com PHPmailer


RicardoBresciani

Pergunta

Pessoal, bom dia!
Estou fazendo uma rotina para enviar e-mails aos clientes e a rotina que tenho testando com um boleto o mesmo envia com todas as informações corretas, porém, quando coloco pra enviar dois emails a rotina dispara os dois e-mails mas o segundo sai com a mesma informação do primeiro, não sendo atualizado com os dados do segundo envio, tirando a rotina de email do laço forech ele executa a SP corretamente duas vezes com os dados distintos, voltando a rotina do phpmailer ele não atualiza o envio do segundo boleto, já tentei limpar todas as variáveis usadas mas não consegui, é que o arquivo é muito grande pra postar ele inteiro aqui.
O script começa assim, seria um resumo dele, com 1 email ele faz certinho, incluiu mais que dois e-mail somente o primeiro funciona os demais são enviados porém sempre com a informação do primeiro, se alguém tiver outra ideia, uma luz, ficaria muito grato.

<?
include ('../../../../phplib/apoio/conecta.php');
include ('../../../../phplib/apoio/bibliotecajr.php');

require "../boletos/class.phpmailer.php";    
$mail = new PHPMailer();

$guias = $_POST['guias']; //é o vetor que recebe os dois emails

foreach($guias as $guia)
{
$sql1 = "SP @VARIAVEL = '".$guia."'";
    $query1 = mssql_query($sql1,$conexao);
    $result3 = mssql_fetch_array($query1);    
    $a = $result3["ID_SCOTITUL"];

$msg .= "<html lang='pt-br'>";
$msg .= "</html>

$mail->Mailer     = "smtp";                         //Define o método de envio
            $mail->IsHTML(true);                                 //Define que a mensagem poderá ter formatação HTML
            $mail->CharSet    = "utf-8";                         //Define que a codificação do conteúdo da mensagem será utf-8
            $mail->SMTPSecure = "tls";                             //Define que os emails enviadas utilizarão SMTP Seguro tls
            $mail->Host       = "smtp";    //Define que o Host que enviará a mensagem é o
            $mail->Port       = "25";                             //Define a porta utilizada para o envio autenticado 
            $mail->SMTPAuth   = "true";                         //Define que a mensagem utiliza método de envio autenticado
            $mail->Username   = "email";    //Define o usuário autenticado responsável pelo envio
            $mail->Password   = "senha";                     //Define a senha deste usuário citado acima
            $mail->From       = "email";
            $mail->FromName   = "Boleto";
            //Define o destinatário que receberá a mensagem
            $mail->AddAddress("email do cliente");
            //Define o e-mail que vai receber com cópia oculta
            //$mail->AddBCC("email");
            $mail->AddReplyTo("email", $mail->FromName); //Define o email que receberá resposta desta mensagem, quando o destinatário responder
            $mail->Subject    = "Boleto";                 //Assunto da mensagem
            $mail->Body       = $msg;                                             //Toda a estrutura HTML e corpo da mensagem
            //Envia o e-mail
            $enviado = $mail->Send();
            $mail->ClearAllRecipients();
            $mail->ClearAttachments();
            $mail->ClearAddress();
    if ($enviado)
            {
                echo "E-mail enviado com sucesso!";
                $sem_erro = $sem_erro + 1 ;                
            }else
                {
                    echo "Não foi possível enviar o e-mail.";
                    echo "<b>Informações do erro:</b> " . $mail->ErrorInfo;
                    $erro = $erro + 1;
                }
unset($a);
}

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
11 minutos atrás, Leonardo Persan disse:

Descomenta esse trecho fazendo favor

image.png.3551ac8fd1302b0760b8cb732e4384b7.png

Coloca um print de $msg aqui

image.png.84489c5c45da04857cc285b1129ce0f8.png

E posta pra gente um print do resultado

Leonardo, tem duas imagens uma com a rotina de phpmailer que apenas executa uma vez a SP, a outra imagem tirei toda a rotina do phpmailer e o forech executa a sp para os dois registros, isso que não consigo encontrar se ele está no forech ele executaria a SP pela primeira vez, enviaria o email e zeraria as variáveis e ele volta pro loop executaria a segunda vez e enviaria os dados da segunda execução, mas não ele mantem só a primeira execução.

 

se retirar o phpmailer o forech executa os dois.png

com o phpmailer.png

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Leonardo Persan disse:

Eu entendi o seu problema o que eu quero saber é se a consulta


$sql1 = "SP @VARIAVEL = '".$guia."'";

É realmente diferente entre um loop e outro. E isso você não mostrou nos prints.

Leonardo, o texto é o mesmo muda o ID do título:

EXEC LISTA_BOLETOS_POR_ID @ID_SCOTITUL = '829415'
EXEC LISTA_BOLETOS_POR_ID @ID_SCOTITUL = '834132'


com isso se tirar o phpmailer ele executa as informações de cada Loop o que desanda tudo é quando coloco a rotina do email que ele envia dois emails mas sempre com a informação do primeiro.

se você tiver outra lógica ou outro exemplo, outra sugestão .... fica a vontade ... porque to quase desistindo dessa .... rs.

Link para o comentário
Compartilhar em outros sites

  • 0

Com todo esses recortes e alterações que você faz pra esconder dados sensíveis em vez de gerar dados fictícios pra poder exibir não da pra te ajudar, mas repara que a maioria dos dados são diferentes

image.png.dc3a12ccd21d1bc6f2fda34702398029.png

E ai os dados de nome e-mail e algum outro se repete

Editado por Leonardo Persan
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...