Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tverta

Briga no email

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.