Tverta 0 Denunciar post Postado Dezembro 7, 2004 Olá pessoal, o briga aqui... Se eu coloco a msg em html o anexo não é enviado Se eu deixo a msg em texto o anexo é enviado... mas eu preciso que seja enviado a msg em HTML e o anexo... Como faço isso.. meu código: <?php//pego os dados enviados pelo formulario$nome = $_POST["nome"];$empresa = $_POST["empresa"];$cidade = $_POST["cidade"];$ddd1 = $_POST["ddd1"];$ddd2 = $_POST["ddd2"];$telefone = $_POST["telefone"];$fax = $_POST["fax"];$espessura = $_POST["espessura"];$quantidade = $_POST["quantidade"];$cores = $_POST["cores"];$assunto = $_POST["assunto"];$email_from = $_POST["email_from"];$email = "tverta@atribuna.com.br";//campos vazios?if(empty($email)){echo ("Você deve preencher seu email");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(!(strstr($email, "@"))){echo "E-mail invalido";echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($nome)){echo ("Você deve preencher seu nome ");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($empresa)){echo ("Você deve preencher o nome da sua empresa");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($ddd1)){echo ("Você deve preencher o ddd do seu telefone ");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($telefone)){echo ("Você deve preencher o seu telefone");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($cidade)){echo ("Você deve preencher o nome da sua cidade");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($quantidade)){echo ("Você deve preencher a quantidade");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}if(empty($cores)){echo ("Você deve preencher as cores");echo ("<BR>");echo ("<a href='javascript:history.back(1)' class='link2'>Voltar</a>");exit;}$mensagem = "<html><body><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='39%' bgcolor='#E5E5E5'><img name=index_r2_c2 src=index_r2_c2.gif width=220 height=68 border=0 alt=></td><td width='61%' bgcolor='#E5E5E5'> </td> </tr> <tr bgcolor='#3399CC'> <td> </td> <td> </td> </tr></table><br><table width='80%' border='0' align='center' cellpadding='0' cellspacing='0'> <tr> <td width='49%' bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Nome:</font></td> <td width='2%'> </td> <td width='49%' bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>E-Mail:</font></td> </tr> <tr> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$nome</font></td> <td> </td> <td><font size='1' face='Verdana, Arial Helvetica, sans-serif'>$email_from</font></td> </tr> <tr> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Empresa:</font></td> <td> </td> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Cidade:</font></td> </tr> <tr> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$empresa</font></td> <td> </td> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$cidade</font></td> </tr> <tr> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>DDD - Telefone</font></td> <td> </td> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>DDD - Fax</font></td> </tr> <tr> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$ddd1</font> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>-</font> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$telefone</font></td> <td> </td> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$ddd2</font> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>-</font> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$fax</font></td> </tr> <tr> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Espessura do cartão:</font></td> <td> </td> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Quantidade de cartões:</font></td> </tr> <tr> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$espessura</font></td> <td> </td> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$quantidade</font></td> </tr> <tr> <td bgcolor='#3399CC'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Quantas cores tem terá o cartão?</font></td> <td> </td> <td> </td> </tr> <tr> <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$cores</font></td> <td> </td> <td> </td> </tr></table></body></html>";//formato o campo da mensagem//$mensagem = wordwrap( $mensagem, 50, "<br>", 1); (retirei pois quero em html)//valido os emailsif (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){echo"<center>Digite um email valido</center>";echo "<center><a href=\"javascript:history.go(-1)\">Voltar</center></a>";exit;}if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email_from)){echo "<center>Digite um email valido</center>";echo "<center><a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";exit;}$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo);fclose($fp);$anexo = chunk_split($anexo);$boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain $mens .= "$mensagem\n"; $mens .= "--$boundary\n";$mens .= "Content-Type: ".$arquivo["type"]."\n";$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";$mens .= "Content-Transfer-Encoding: base64\n\n";$mens .= "$anexo\n";$mens .= "--$boundary--\r\n";$headers = "MIME-Version: 1.0\n";$headers .= "From: \"$nome\" <$email_from>\r\n";$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";$headers .= "$boundary\n";//envio o email com o anexo mail($email,$assunto,$mens,$headers);echo"Email enviado com Sucesso!";}//se nao tiver anexoelse{$headers = "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";$headers .= "From: \"$nome\" <$email_from>\r\n";//envia o email sem anexomail($email,$assunto,$mensagem, $headers);echo"Email enviado com Sucesso!";} ?> Poderiam me ajudar??? http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Dezembro 8, 2004 o problema está no cabeçalho que você está enviando $headers você colocou uma condicional que enviará o e-mail no formato HTML somente se não tiver nenhum arquivo anexo. Content-type: text/html; entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
Tverta 0 Denunciar post Postado Dezembro 8, 2004 sim no código realmente se separa se tem anexo ou não... mas no trecho do código abaixo, que eu adaptei pensei estar permitindo o html tb na COM anexo... $anexo = chunk_split($anexo);$boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain $mens .= "$mensagem\n"; $mens .= "--$boundary\n";$mens .= "Content-Type: ".$arquivo["type"]."\n";$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";$mens .= "Content-Transfer-Encoding: base64\n\n";$mens .= "$anexo\n";$mens .= "--$boundary--\r\n";$headers = "MIME-Version: 1.0\n";$headers .= "From: \"$nome\" <$email_from>\r\n";$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";$headers .= "$boundary\n";eu procurei na net o significado de multipart/mixed e pelo que vi é a permissão de vários modelos (para assim poder enviar o anexo)e na linha anterior $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; ele não estria definindo com html??? Agora q você disse fiquei com esta dúvida.. você poderia me esclarecer e me informar a maneira correta de enviar o email com a mensagem em html e com o anexo? :huh: Compartilhar este post Link para o post Compartilhar em outros sites
Tverta 0 Denunciar post Postado Dezembro 9, 2004 alguém poderia me dar uma força eu realmente preciso disso... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Valews Compartilhar este post Link para o post Compartilhar em outros sites
dokkalfr 0 Denunciar post Postado Dezembro 9, 2004 http://phpmailer.sf.net ou PEAR Compartilhar este post Link para o post Compartilhar em outros sites