djeco 0 Denunciar post Postado Abril 25, 2007 Olá,Tenho um formulário que envia anexos, mas quando o email com o anexo é enviado para o gmail ou aberto com o outlook o anexo não fica como anexo, aparece como texto na mensagem um monte de códigos.Alguém já viu isso? Sabe como solucionar?valeu! Compartilhar este post Link para o post Compartilhar em outros sites
rafanevesjau 0 Denunciar post Postado Abril 25, 2007 poste o código se possível... Isso parece ser problema de Mime Compartilhar este post Link para o post Compartilhar em outros sites
djeco 0 Denunciar post Postado Abril 25, 2007 segue o código: //define os headers de envio $mailheaders = "From: \"$nome\" <$email>\r\n"; $mailheaders .= "Reply-To: $email\n"; //e define a mensagem tirando barras para evitar problemas no script $texto = stripslashes($texto); //verifica se tem arquivo anexo, o if é se tiver e o else se não tiver anexo if ($attach !=null) { //abre o arquivo para codificá-lo no formato de email $file = fopen($attach, "r"); $contents = fread($file, $attach_size); $encoded_attach = chunk_split(base64_encode($contents)); fclose($file); //define os headers do anexo e da mensagem $mailheaders .= "MIME-version: 1.0\n"; $mailheaders .= "Content-type: multipart/mixed; "; $mailheaders .= "boundary=\"Message-Boundary\"\n"; $mailheaders .= "Content-transfer-encoding: 7BIT\n"; $mailheaders .= "X-attachments: $attach_name"; $body_top = "--Message-Boundary\n"; $body_top .= "Content-type: text/plain; charset=US-ASCII\n"; $body_top .= "Content-transfer-encoding: 7BIT\n"; $body_top .= "Content-description: Mail message body\n\n"; $msg_body = $body_top . $texto; $msg_body .= "\n\n--Message-Boundary\n"; $msg_body .= "Content-type: $attach_type; name=\"$attach_name\"\n"; $msg_body .= "Content-Transfer-Encoding: BASE64\n"; $msg_body .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n"; $msg_body .= "$encoded_attach\n"; $msg_body .= "--Message-Boundary--\n"; //envia o email para as variáveis já definidas e tratadas e mostra mensagem de sucesso mail($para, $assunto, $msg_body, $mailheaders); } else { //se não tiver anexo ele envia só a mensagem com esses headers $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: \"$nome\" <$email>\r\n"; mail($para, $assunto, $texto, $mailheaders); } Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Abril 30, 2007 Opa beleza djeco? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Você está sendo notificado por desrespeitar a 10ª Regra do fórum. Leia as regras e utilize-as como referência em futuras postagens. okay!!!! Ler Regras sobre sua dúvida! veja em: http://forum.imasters.com.br/index.php?showtopic=212628 tem vários script de Formulario de Email com Anexo... ok. Compartilhar este post Link para o post Compartilhar em outros sites