0
The code below sends you order confirmation email correctly, however it arrives unnumbered to only 'a single recipient'. In case, the product in the description field appears printed before anything on the screen and some words appear together.
/* FORMATAÇÃO HTML DA MENSAGEM */
$html ="<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
<title>Email html</title>
</head>
<body style='margin: 0; padding: 0;'>
<!-- Tabela grande extrena -->
<table border='0' width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td>
<!-- Tabela interna 1 com 600px -->
<table border='1' align='center' width='600px' style='border-collapse: collapse;' cellpadding='0' cellspacing='0'>
<tr><td align='center' style='padding: 30px 0 30px 0;'><img src='http://XXXXX.com/gui/Imagens/Logo_eMail.png' alt='XXXXX' width='50' height='50' style='display: block;' /></td></tr>
<tr>
<td style='padding:30px 30px 30px 30px'>
<!-- Tabela mais interna-->
<table border='1' cellpadding='0' cellspacing='0' width='100%'>
<tr><td colspan='2'><p>Olá, ".$nome."!<br>Seu pedido foi realizado com sucesso no portal da XXXXX, conforme detalhes abaixo:<br><br></p></td></tr>
<tr><th colspan='2' bgcolor='#9CC6F7'>DETALHAMENTO DE PEDIDO</th></tr>
<tr><td colspan='2'>PEDIDO n. : ".$numTroca."</td></tr>
<tr><td colspan='2'>DESTINATÁRIO : ".$strDestin."</td></tr>
<tr><td bgcolor='#9CC6F7' align='center' width='15%'><b>QTD</b></td><td bgcolor='#9CC6F7' align='center' width='85%'><b>DESCRIÇÃO</b></td></tr>";
//MONTAGEM DINÂMICA DO MEIO DA TABELA
foreach ($resTroca as $value){
$brindeDesc = $value['bri_Desc'];
$brindeQtd = $value['tro_Qtd'];
$html .= "<tr><td width='15%'>".$brindeQtd."</td><td width='85%'>".$brindeDesc."</td></tr>";
}
$html .="</table>
</td>
</tr>
<tr><td><p><br>Gratos pela preferência, logo mais você receberá novo email com instruções e endereço de retirada do brinde.<br>Atenciosamente, <br>Zharium</p></td></tr>
</table>
<!-- Fim da Tabela 1 -->
</td>
</tr>
</table>
<!-- Fim da Tabela grande externa -->
</body>
</html>";
/**FORMATANDO O ENVIO DEEMAIL*/
$mail = new PHPMailer();
$mail->SetLanguage('pt'); // Define o Idioma
$mail->IsHTML(true); // Enviar como HTML
$mail->IsSMTP(); // Define que será enviado por SMTP
$mail->CharSet = 'utf-8'; // Define a Codificação
$mail->SMTPDebug = 3;
$mail->Host = 'br337.hostgator.com.br'; // Servidor SMTP
$mail->SMTPAuth = true; // Servidor SMTP precisa de autenticação
$mail->Username = '[email protected]'; // E-mail para aut. no SMTP
$mail->Password = '*****'; // Senha do E-mail
$mail->From = '[email protected]'; // Define o Remetente
$mail->FromName = 'XXXXXX'; // Nome do Remetente
$mail->AddAddress($emailTo,$nome); // Email e Nome do destinatário
$mail->AddCC('[email protected]','XXXXXXX'); // Envia Cópia
$mail->WordWrap = 70;
$mail->Subject = $assunto; // Assunto da mensagem
$mail->Body = $html; // Corpo da mensagem HTML
$enviado = $mail->Send(); // Envia o e-mail
$mail->ClearAllRecipients(); // Limpa os destinatários
if($enviado){ // Testa o envio
return true;
}else{
echo "Não foi possível enviar o e-mail.";
echo "<b>Informações do erro:</b> " . $mail->ErrorInfo; die();
}
This code has several problems, one of them is not escape special characters, another of them is that you do not clean the variable $meio before the loop (there are more problems, but these two are enough to be a hell debug)
– Bacco
Hello @Bacco, thank you for your attention. I modified the code, as you can see, but it still gives problems in a single recipient. The variables are started in an interval that is not visible, so if you can point out the other mistakes.. I would be grateful.
– Nic
vc needs . htmlentities( $brindeQtd ). to take care of special characters (if you are not doing this elsewhere in the code). One thing that can help is to use heredoc. http://answall.com/a/14258/70
– Bacco