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

(Resolvido) Problema Com FOrmmail+anexo


Suporte Centroeste

Pergunta

Bom Dia Pessoal sou novo aqui no fórum e gostaria de solucionar um problema e conto com a ajuda de vocês.

E os seguintes estão com um formulário para envio de currículo e o problema e que eu estou recebendo no email somente o anexo o restante dos dados do formulário não chega, segue abaixo o código dos arquivos email.html, envia.php.

email.html

<html>
<head>
&lt;script language="javascript">

function checa_formulario(email){

if (email.nome_para.value == ""){
alert("Por Favor não deixe o nome em branco!!!");
email.nome.focus();
return (false);
}

if (email.email.value == ""){
alert("não deixe o email destinatario em branco!!!");
email.email.focus();
return (false);
}

if (email.assunto.value == ""){
alert("não deixe o assunto em branco!!!");
email.assunto.focus();
return (false);
}

}
</script>
<title>Enviando e-mail com anexo através do PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.email {
text-transform: lowercase;
}
.texto {
color: #0000FF
}
.style1 {color: #FF0000}

-->
</style>
</head>

<body onLoad="document.email.nome.focus();">
<form onSubmit="return checa_formulario(this)" action="envia.php" method="post" enctype="multipart/form-data" name="email">
  <table width="100%" border="0">
<tr>
<td><FIELDSET><LEGEND>Dados Pessoais</LEGEND>
<DIV style="WIDTH: 100%" height="100%"><LABEL for=txNomeCompleto>Nome Completo:</LABEL> <INPUT 
id=nomecompleto maxLength=50 size=40 name=nomecompleto> 
<LABEL 
for=txEmail>E-mail:</LABEL> <INPUT id=email maxLength=100 size=40 
name=email> 
</DIV>
<DIV class=Box45p><LABEL for=txTelefone>Telefone:</LABEL> <INPUT id=telefone 
size=28 name=telefone> 
</DIV>
<DIV class=Box45p><LABEL for=txCelular>Celular:</LABEL> <INPUT id=txcelular 
size=28 name=txcelular> </DIV>
<DIV class=Box45p><LABEL for=txCidade>Cidade:</LABEL> <INPUT id=txcidade size=28 name=txcidade> 
</DIV>
<DIV class=Box45p><LABEL for=txEstado>Estado:</LABEL> <INPUT id=txestado maxLength=2 size=8 name=txestado> 
</DIV>
<DIV style="WIDTH: 250px" class=Box45p><LABEL for=txCargo>Cargo:</LABEL> <SELECT 
id=txcargo name=txcargo> <OPTION selected value=Almoxarife>Almoxarife</OPTION> 
  <OPTION value="Analista de RH">Analista de RH</OPTION> <OPTION 
  value="Analista de Sistemas">Analista de Sistemas</OPTION> <OPTION 
  value=Arquiteto>Arquiteto</OPTION> <OPTION 
  value="Assessor Contabilidade">Assessor Contabilidade</OPTION> <OPTION 
  value="Assistente Adm.">Assistente Adm.</OPTION> <OPTION 
  value=Atendente>Atendente</OPTION> <OPTION value="Aux. Adm.">Aux. 
  Adm.</OPTION> <OPTION value="Auxiliar / Assist. Dpto Pessoal">Auxiliar / 
  Assist. Dpto Pessoal</OPTION> <OPTION 
  value="Auxiliar / Assist. Faturamento">Auxiliar / Assist. Faturamento</OPTION> 
  <OPTION value="Auxiliar Escrita Fiscal">Auxiliar Escrita Fiscal</OPTION> 
  <OPTION value="Auxiliar/ Assessor Marketing">Auxiliar/ Assessor 
  Marketing</OPTION> <OPTION value="Auxiliar/ Assist. Almoxarifado">Auxiliar/ 
  Assist. Almoxarifado</OPTION> <OPTION 
  value="Auxiliar/ Assist. Cobrança">Auxiliar/ Assist. Cobrança</OPTION> <OPTION 
  value=Cadista>Cadista</OPTION> <OPTION value=Caixa>Caixa</OPTION> <OPTION 
  value=Comprador>Comprador</OPTION> <OPTION value=Expedidor>Expedidor</OPTION> 
  <OPTION value="Gerente Administrativo">Gerente Administrativo</OPTION> <OPTION 
  value="Gerente Comercial">Gerente Comercial</OPTION> <OPTION 
  value="Gerente Contabil">Gerente Contabil</OPTION> <OPTION 
  value="Gerente de Loja">Gerente de Loja</OPTION> <OPTION 
  value="Gerente Financeiro">Gerente Financeiro</OPTION> <OPTION 
  value="Gerente Logistica">Gerente Logistica</OPTION> <OPTION 
  value="Gerente Trainee">Gerente Trainee</OPTION> <OPTION 
  value="Médico do Trabalho">Médico do Trabalho</OPTION> <OPTION 
  value=Motorista>Motorista</OPTION> <OPTION 
  value="Operador de Telemarketing">Operador de Telemarketing</OPTION> <OPTION 
  value="Planejador de Interiores">Planejador de Interiores</OPTION> <OPTION 
  value=Programador>Programador</OPTION> <OPTION 
  value=Recepcionista>Recepcionista</OPTION> <OPTION 
  value=Secretária>Secretária</OPTION> <OPTION 
  value="Técnico de Informárica">Técnico de Informárica</OPTION> <OPTION 
  value="Tecnico Segurança do Trabalho">Tecnico Segurança do Trabalho</OPTION> 
  <OPTION value=Vendedor>Vendedor</OPTION></SELECT> </DIV>
<DIV class=Box45p><LABEL for=txProfissional>Area Profissional:</LABEL> <SELECT 
id=txprofissional name=txprofissional> <OPTION selected 
  value="Administrativa Comercial">Administrativa Comercial</OPTION> <OPTION 
  value="Administrativa/ Financeira">Administrativa/ Financeira</OPTION> <OPTION 
  value="Arquitetura /  Decoração">Arquitetura / Decoração</OPTION> <OPTION 
  value="Atendimento a Cliente/ Telemarketing">Atendimento a Cliente/ 
  Telemarketing</OPTION> <OPTION value="Comercial Vendas">Comercial 
  Vendas</OPTION> <OPTION value=Compras>Compras</OPTION> <OPTION 
  value=Contabilidade>Contabilidade</OPTION> <OPTION 
  value="Informática / TI">Informática / TI</OPTION> <OPTION 
  value="Logistica / Suprimentos">Logistica / Suprimentos</OPTION> <OPTION 
  value=Manutenção>Manutenção</OPTION> <OPTION 
  value="Recursos Humanos / Departamento de Pessoal">Recursos Humanos / 
  Departamento de Pessoal</OPTION> <OPTION 
  value="Segurança do Trabalho">Segurança do Trabalho</OPTION></SELECT> </DIV>
<DIV class=Box45p><LABEL for=txHierarquico>Nível Hierarquico:</LABEL> <SELECT 
id=txhierarquico name=txhierarquico> <OPTION selected 
  value=Diretoria>Diretoria</OPTION> <OPTION value=Gerencia>Gerencia</OPTION> 
  <OPTION value=Supervisão>Supervisão</OPTION> <OPTION 
  value=Administrativo>Administrativo</OPTION> <OPTION 
  value=Operacional>Operacional</OPTION></SELECT> </DIV></FIELDSET></td>
  </tr>
<tr>
<td colspan="2"><FIELDSET class=bt>
<div align="right" class="texto">
  <div align="left">
    <LEGEND>Anexe seu curr&iacute;culo </LEGEND>
  </div>
</div>  <input name="arquivo" type="file"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Enviar">
<input name="Reset" type="reset" id="Reset" value="Limpar" /></td>
</tr>
</table>
</form>
</body>
</html>
envia.php
<?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/

if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux 
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_from = 'suportecentroeste@gmail.com';

//pego os dados enviados pelo formulário
$nomecompleto     = $_POST['nomecompleto'];
$email     = $_POST['email'];
$telefone     = $_POST['telefone'];
$txcelular     = $_POST['txcelular'];
$txcidade     = $_POST['txcidade'];
$txestado     = $_POST['txestado'];
$txcargo     = $_POST['txcargo'];
$txprofissional     = $_POST['txprofissional'];
$txhierarquico     = $_POST['txhierarquico'];


//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 10000, "<br>", 1);

//valido os emails
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)){

echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">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);
$mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P>
<TABLE>
<TBODY>
</TBODY></TABLE>';


$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= $mensagem . $quebra_linha;
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;
$headers .= 'Return-Path: ' . $email_from . $quebra_linha;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;

//envio o email com o anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

//se não tiver anexo
else{

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;

//envia o email sem anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

?>

Editado por Suporte Centroeste
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Você precisar inserir as variáveis dos dados na mensagem também. Desse jeito apenas envia mesmo somente o anexo.

Tenta inserir isso na parte do codigo que envia a mensagem:

$mens .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";

Note que o formulario possui duas opções de envio, quanto tem e quanto não tem anexo, por isso você tem que inserir o codigo acima em ambas as condições.

Link para o comentário
Compartilhar em outros sites

  • 0
Você precisar inserir as variáveis dos dados na mensagem também. Desse jeito apenas envia mesmo somente o anexo.

Tenta inserir isso na parte do codigo que envia a mensagem:

$mens .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";
Note que o formulario possui duas opções de envio, quanto tem e quanto não tem anexo, por isso você tem que inserir o codigo acima em ambas as condições.
eu adicionei o codigo, e continua na mesma coisa, so chega o anexo veja como ficou meu codigo
<?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/

if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux 
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_from = 'junior136@gmail.com';

//pego os dados enviados pelo formulário
$nomecompleto     = $_POST['nomecompleto'];
$email     = $_POST['email'];
$telefone     = $_POST['telefone'];
$txcelular     = $_POST['txcelular'];
$txcidade     = $_POST['txcidade'];
$txestado     = $_POST['txestado'];
$txcargo     = $_POST['txcargo'];
$txprofissional     = $_POST['txprofissional'];
$txhierarquico     = $_POST['txhierarquico'];


//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 10000, "<br>", 1);

//valido os emails
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)){

echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">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 .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= $mensagem . $quebra_linha;
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;
$headers .= 'Return-Path: ' . $email_from . $quebra_linha;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;

//envio o email com o anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

//se não tiver anexo
else{

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;

//envia o email sem anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim:

<?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/

if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_from = 'suportecentroeste@gmail.com';

//pego os dados enviados pelo formulário
$nomecompleto     = $_POST['nomecompleto'];
$email     = $_POST['email'];
$telefone     = $_POST['telefone'];
$txcelular     = $_POST['txcelular'];
$txcidade     = $_POST['txcidade'];
$txestado     = $_POST['txestado'];
$txcargo     = $_POST['txcargo'];
$txprofissional     = $_POST['txprofissional'];
$txhierarquico     = $_POST['txhierarquico'];


//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 10000, "<br>", 1);

//valido os emails
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)){

echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">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);
$mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P>
<TABLE>
<TBODY>
</TBODY></TABLE>';


$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= $mensagem . $quebra_linha;
$mens .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;
$headers .= 'Return-Path: ' . $email_from . $quebra_linha;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;

//envio o email com o anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

//se não tiver anexo
else{
$mens .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;

//envia o email sem anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

?>

E tenha a certeza que seu servidor suporta o envio de email pelo site.

Link para o comentário
Compartilhar em outros sites

  • 0
Tenta assim:

<?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/

if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_from = 'suportecentroeste@gmail.com';

//pego os dados enviados pelo formulário
$nomecompleto     = $_POST['nomecompleto'];
$email     = $_POST['email'];
$telefone     = $_POST['telefone'];
$txcelular     = $_POST['txcelular'];
$txcidade     = $_POST['txcidade'];
$txestado     = $_POST['txestado'];
$txcargo     = $_POST['txcargo'];
$txprofissional     = $_POST['txprofissional'];
$txhierarquico     = $_POST['txhierarquico'];


//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 10000, "<br>", 1);

//valido os emails
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)){

echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">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);
$mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P>
<TABLE>
<TBODY>
</TBODY></TABLE>';


$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= $mensagem . $quebra_linha;
$mens .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;
$headers .= 'Return-Path: ' . $email_from . $quebra_linha;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;

//envio o email com o anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

//se não tiver anexo
else{
$mens .= "
$nomecompleto <BR>
$email  <BR>
$telefone <BR>
$txcelular  <BR>
$txcidade  <BR>
$txestado  <BR>
$txcargo   <BR>
$txprofissional <BR>
$txhierarquico <BR>";

$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;

//envia o email sem anexo
mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}

?>

E tenha a certeza que seu servidor suporta o envio de email pelo site.

Deu certo Muito obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Alguém me ajuda? Estou usando o mesmo código do amigo acima, porém o anexo não chega. (Chega um monte de letras)

<?php

/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux

Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional

Windows utiliza "\r\n"

Linux utiliza "\n"

*/

if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux

//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)

$email_from = 'contato@bycompetence.com.br';

//pego os dados enviados pelo formulário

$nomecompleto = $_POST['nomecompleto'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$txcelular = $_POST['txcelular'];

$txcidade = $_POST['txcidade'];

$txestado = $_POST['txestado'];

$txcargo = $_POST['txcargo'];

$txprofissional = $_POST['txprofissional'];

$txhierarquico = $_POST['txhierarquico'];

//formato o campo da mensagem

$mensagem = wordwrap( $mensagem, 10000, "<br>", 1);

//valido os emails

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)){

echo('<center>Digite um email valido</center>');

echo('<center><a href=java script:history.go(-1)">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);

$mensagem_cabecalho = '<P><FONT color=#3300ff size=2>Mensagem entregue com sucesso!!!</FONT></P>

<TABLE>

<TBODY>

</TBODY></TABLE>';

$boundary = 'XYZ-' . date("dmYis") . '-ZYX';

$mens = '--' . $boundary . $quebra_linha;

$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;

$mens .= 'Content-Type: text/html; charset=ISO-8859-1"' . $quebra_linha . $quebra_linha;

$mens .= $mensagem_cabecalho . $quebra_linha;

$mens .= $mensagem . $quebra_linha;

$mens .= "

$nomecompleto <BR>

$email <BR>

$telefone <BR>

$txcelular <BR>

$txcidade <BR>

$txestado <BR>

$txcargo <BR>

$txprofissional <BR>

$txhierarquico <BR>";

$mens .= '--' . $boundary . $quebra_linha;

$mens .= 'Content-Type: ' . $arquivo["type] . $quebra_linha;

$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;

$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;

$mens .= $anexo . $quebra_linha;

$mens .= '--' . $boundary . '--' . $quebra_linha;

$headers = 'MIME-Version: 1.0' . $quebra_linha;

$headers .= 'From: ' . $email_from . $quebra_linha;

$headers .= 'Return-Path: ' . $email_from . $quebra_linha;

$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;

$headers .= $boundary . $quebra_linha;

//envio o email com o anexo

mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');

}

$headers = 'MIME-Version: 1.0' . $quebra_linha;

$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;

$headers .= 'From: ' . $email_from . $quebra_linha;

//envia o email sem anexo

mail($email,$assunto,$mens,$headers);

echo('Email enviado com Sucesso! <a href="index.html">Voltar a página inicial</a>');

?>

Desculpem, não estou conseguindo utilizar o codebox.

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...