Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas Rocha Borges

Envio de email com anexo no formulario ERROO

Recommended Posts

Eu denovo! Meu deus, ja tentei de tudo e nada..

Por favor alguém ajude kk

 

Tenho um formulário até que grande, e ele TEM QUE SER enviado com um anexo .pdf.. O codigo html e php estão aqui.

Obrigado :D

<form name="trabcient" method="POST" action="form_trabcient.php" class="">
    <center><h2> Formulário de submissão. </h2></center>
<br><br>
O participante deverá preencher o formulário eletrônico de Submissão, que é composto por<br /> 3 etapas: Cadastro de dados gerais do inscrito e preenchimento dos subitens a e b.<br><br>
    <font color="black">

<div class="titulo"><b> 1ª ETAPA</b> </div><br />
<div class="etapw">
    <br />
    <span><b>CPF:</b><font color="red">*</font></span>
         <input type="text" name="cpf" required  size="20" class="stylebox"/>
    <br /><br>

    <span><b>Instituição:</b><font color="red">*</font></span>
        <input type="text" name="instituicao" size="20" required class="stylebox"/>
    <br /><br></div>

    <b>a) Indique a área de conhecimento e o tema do seu resumo:</b><font color="red"> *</font>
    <br /><br>
        <input type="text" name="aarea1" required size="1"  onkeyup="areaquestao( this )" onkeypress="return
          soLetras(event)" maxlength="1" class="letramaiuscula boxsqm" />   Área 1 – Corpo/Corpo.<br />
                <legend>A - Tema: - O corpo no brincar / psicanálise e simbolismos.</legend>
                <legend>B - Tema: - Clínica psicomotora relacional.</legend>
         <br /><br>



        <input type="text" name="aarea2" required size="1" onkeyup="areaquestao( this )" onkeypress='return
          soLetras(event)' maxlength="1" class="letramaiuscula boxsqm"/>  Área 2 – Corpo/ Ciência.<br />
                  <legend>A - Tema: – A Psicomotricidade Relacional e Neuropsicomotricidade.</legend>
                  <legend>B - Tema: – Neurociências e movimento.</legend>
          <br /><br>

        <input type="text" name="aarea3" required size="1" onkeyup="areaquestao( this )" onkeypress='return
          soLetras(event)' maxlength="1" class="letramaiuscula boxsqm"/>  Área 3 – Corpo/Cultura.<br />
                <legend>A - Tema: - A Psicomotricidade Relacional e políticas públicas.</legend>
                <legend>B - Tema: - A pratica da Psicomotricidade Relacional na Educação e na saúde mental.</legend>
          <br /><br>



        <input type="text" name="aarea4" required size="1" onkeyup="areaquestao( this )" onkeypress='return
          soLetras(event)' maxlength="1" class="letramaiuscula boxsqm"/>  Área 4 – Psicomotricidade Relacional e Educação Inclusiva
          <legend>A - Tema: - A clínica psicomotora relacional e aprendizagem.</legend>
          <legend>B - Tema: – A Psicomotricidade Relacional na educação inclusiva: uma realidade possível.</legend>
      <br /><br>


        <input type="text" name="aarea5" required size="1" onkeyup="areaquestao( this )" onkeypress='return
          soLetras(event)' maxlength="1" class="letramaiuscula boxsqm"/>  Área 5 – Psicomotricidade Relacional na Formação inicial e continuada do docente <br />
          <legend>A- Tema: - A Psicomotricidade Relacional enquanto prática pedagógica na educação.</legend>
          <legend>B- Tema: - A psicomotricidade Relacional e qualidade de vida do docente.</legend>
        <br /><br>




<b> b) Informações sobre o resumo enviado. Indique uma das opções abaixo:</b></b><font color="red"> *</font>
<br /><br>
 <input type="radio" name="bresumodetalhes" required value="O resumo enviado apresenta resultados preliminares ou parciais de estudo e/ou pesquisa realizada em uma das áreas do conhecimento descritas acima."/>O resumo enviado apresenta resultados preliminares ou parciais de estudo e/ou pesquisa realizada em uma das áreas do conhecimento descritas acima. <br /><br>
<input type="radio" name="bresumodetalhes" required value="O resumo enviado apresenta resultados parciais de estudo e/ou pesquisa realizada que contribuem de forma preliminar para solução de uma problemática importante em uma das áreas do conhecimento descritas acima."/> O resumo enviado apresenta resultados parciais de estudo e/ou pesquisa realizada que contribuem de forma preliminar para solução de uma problemática importante em uma das áreas do conhecimento descritas acima.<br /><br>
<input type="radio" name="bresumodetalhes" required value="o resumo enviado apresenta resultados parciais ou finalizados de estudo e/ou pesquisa realizada que contribuem de forma conclusiva para solução de uma problemática importante em uma das áreas do conhecimento descritas acima."/>o resumo enviado apresenta resultados parciais ou finalizados de estudo e/ou pesquisa realizada que contribuem de forma conclusiva para solução de uma problemática importante em uma das áreas do conhecimento descritas acima.<br /><br>


        <div class="titulo"><b> 2ª ETAPA: Indicar o nome do autor que irá realizar a apresentação do trabalho</b></div><br /><br>
                      <div class="etape">
                 <span> Nome:<font color="red"> *</font></span><input type="text" size="20" name="autortrab" class="stylebox"       onkeypress="return soLetras(event)" required /><br /><br>

                 <span> instituição:</span><input type="text" name="instituicaotrab" size="20" class="stylebox" onkeypress="return soLetras(event)" /> <br><br>
        </div>


  <div class="titulo"> <b>3ª Etapa: Cadastro da instituição/ local que trabalha que irá representar.</b></div>
<div class="etapt">
  <br /><br>

       <span>Nome:</span><input type="text" name="nomeinst" required  class="stylebox"/><br /><br />

      <span> Endereço:</span><input type="text" name="enderecoinst" required class="stylebox"/><br /><br />

       <span>Bairro:</span><input type="text" name="bairroinst" required  class="stylebox"/><br /><br />

      <span>Cidade:</span><input type="text" name="cidadeinst" required  class="stylebox"/><br /><br />

       <span>Estado:</span><input type="text" name="estadoinst" required class="stylebox"/><br /><br />

      <span> País:</span><input type="text" name="paisinst" required class="stylebox"/>

  <br /><br /></div><br>

  <b>Anexar resumo:</b>  <input type="file" name="arquivo" accept="application/pdf" /><br><br>

    <input type="submit" value="Enviar" name"Enviar" class="sbad" /></font>
  </form>

Arquivo form_trabcient.php

<?php

//pego os dados enviados pelo formulario
 // Campos do formulário de contato
 $para = "congprelacional.trabalho@gmail.com";

  // Assunto do e-mail
  $assunto = "Inscricao de trabalho cientifico ";

  $cpf = $_POST['cpf'];
  $instituicao = $_POST['instituicao'];
  $aarea1 = $_POST['aarea1'];
  $aarea2 = $_POST['aarea2'];
  $aarea3 = $_POST['aarea3'];
  $aarea4 = $_POST['aarea4'];
  $aarea5 = $_POST['aarea5'];
  $bresumodetalhes = $_POST['bresumodetalhes'];
  $autortrab = $_POST['autortrab'];
  $instituicaotrab = $_POST['instituicaotrab'];
  $nomeinst = $_POST['nomeinst'];
  $enderecoinst = $_POST['enderecoinst'];
  $bairoinst  = $_POST['bairoinst'];
  $cidadeinst = $_POST['cidadeinst'];
  $estadoinst   = $_POST['estadoinst'];
  $paisinst = $_POST['paisinst'];


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

//valido os emails

$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 .= "CPF = $cpf \n";
  $mens .= "Instituicao = $instituicao \n .'<br><br>'. ";
  $mens .= "1ª Etapa; Pergunta A)\n Area 1 - Corpo/Corpo: $aarea1 \n";
  $mens .= "Area 2 - Corpo/Ciencia: $aarea2 \n";
  $mens .= "Area 3 - Corpo/Cultura: $aarea3 \n";
  $mens .= "Area 4 - Psicomotricidade Relacional e Educação Inclusiva: $aarea4 \n";
  $mens .= "Area 5 - Psicomotricidade Relacional na Formação inicial e continuada do docente: $aarea5 \n .'<br><br>'.";
  $mens .= "Informações sobre o resumo enviado: $bresumodetalhes \n .'<br><br>'.";
  $mens .= "Autor que realizará a apresentação: $autortrab \n";
  $mens .= "Instituicao que realizará a apresentação: $instituicaotrab \n.'<br><br>'.";
  $mens .= "Cadastro da instituicao/local que irá apresentar:\n Nome da instituicao: $nomeinst \n";
  $mens .= "Endereço da instituicao: $enderecoinst \n";
  $mens .= "Bairro da instituicao: $bairoinst \n";
  $mens .= "Cidade da instituicao: $cidadeinst \n";
  $mens .= "Estado da instituicao: $estadoinst \n" ;
  $mens .= "País da instituicao: $paisinst \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($para, $assunto, $mens, $headers); 

echo"Email enviado com Sucesso!"; 

}

//se não tiver anexo
else{
  $mensagem = "CPF = $cpf \n";
  $mensagem .= "Instituicao = $instituicao \n .'<br><br>'. ";
  $mensagem .= "1ª Etapa; Pergunta A)\n Area 1 - Corpo/Corpo: $aarea1 \n";
  $mensagem .= "Area 2 - Corpo/Ciencia: $aarea2 \n";
  $mensagem .= "Area 3 - Corpo/Cultura: $aarea3 \n";
  $mensagem .= "Area 4 - Psicomotricidade Relacional e Educação Inclusiva: $aarea4 \n";
  $mensagem .= "Area 5 - Psicomotricidade Relacional na Formação inicial e continuada do docente: $aarea5 \n .'<br><br>'.";
  $mensagem .= "Informações sobre o resumo enviado: $bresumodetalhes \n .'<br><br>'.";
  $mensagem .= "Autor que realizará a apresentação: $autortrab \n";
  $mensagem .= "Instituicao que realizará a apresentação: $instituicaotrab \n.'<br><br>'.";
  $mensagem .= "Cadastro da instituicao/local que irá apresentar:\n Nome da instituicao: $nomeinst \n";
  $mensagem .= "Endereço da instituicao: $enderecoinst \n";
  $mensagem .= "Bairro da instituicao: $bairoinst \n";
  $mensagem .= "Cidade da instituicao: $cidadeinst \n";
  $mensagem .= "Estado da instituicao: $estadoinst \n" ;
  $mensagem .= "País da instituicao: $paisinst \n";

$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 anexo
mail($email, $assunto, $mensagem, $headers);

echo"Email enviado com Sucesso!"; 

}

?>

Por favor, deem uma forcinha ;-;

Att, lucas.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quer facilitar as coisas?

 

Use o PHPMailer. É ridiculamente fácil enviar anexos com ele :)

Eu posso colocar nele todas variaveis do formulário, depois puxar no $Mailer->AltBody = 'Mensagem em texto'; ?

Fatal error: Class 'SMTP' not found in /home/u265511480/public_html/phpmailer/class.phpmailer.php on line 1235

 

 

<?php
// Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require_once("phpmailer/class.phpmailer.php");

// Inicia a classe PHPMailer
$mail = new PHPMailer();

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "mx1.hostinger.com.br"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
$mail->Username = 'trabalho@congpsicomotricidaderelacional.com'; // Usuário do servidor SMTP
$mail->Password = 'minha_senha'; // Senha do servidor SMTP

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->From = "trabalho@congpsicomotricidaderelacional.com"; // Seu e-mail
$mail->FromName = "Congresso Internacional de Psicomotricidade Relacional"; // Seu nome

// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->AddAddress('congprelacional.trabalho@gmail.com');
//$mail->AddAddress('ciclano@site.net');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
//$mail->AddBCC('fulano@dominio.com.br', 'Fulano da Silva'); // Cópia Oculta

// Define os dados técnicos da Mensagem
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
//$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

// Define a mensagem (Texto e Assunto)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$mail->Subject  = "Mensagem Teste"; // Assunto da mensagem
$mail->Body = "Este é o corpo da mensagem de teste, em <b>HTML</b>!  :)";
$mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n :)";

// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo

// Envia o e-mail
$enviado = $mail->Send();

// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
$mail->ClearAttachments();

// Exibe uma mensagem de resultado
if ($enviado) {
  echo "E-mail enviado com sucesso!";
} else {
  echo "Não foi possível enviar o e-mail.";
  echo "<b>Informações do erro:</b> " . $mail->ErrorInfo;
}

Oq tem de errado? O.o baixei os arquivos, coloquei os 2 na pasta "phpmailer" dentro do site dei um cntrol c na script configurei e ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu posso colocar nele todas variaveis do formulário, depois puxar no $Mailer->AltBody = 'Mensagem em texto'; ?

Pode.

Aliás, pode simplificar: use strip_tags, pra gerar a mensagem em texto, caso não queria criá-la manualmente

 

 

Fatal error: Class 'SMTP' not found in [/size]/home/u265511480/public_html/phpmailer/class.phpmailer.php on line [/size]1235

Verifique se o class.smtp.php está no mesmo diretório que o class.phpmailer.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo vc é um anjo! HAHAH isso me ajudo bastante, mas tenho uma duvida.. Como faço para quando uma pessoa anexar um arquivo no formulário ele enviar direto para o email ao submit?

 

No phpmailer so mostra se eu hospedar o arquivo no servidor :\

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qualquer upload vai gerar um arquivo no servidor. O próprio tmp_name já é o caminho pro arquivo temporário (o PHP o exclui automaticamente)

 

O que você deve fazer é apagar o arquivo após os envio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já trabalhou com upload de arquivo? Se ainda não, veja este tópico, apenas ignore a parte em que salva no banco

 

No tutorial, $arquivo_nome é o caminho completo ao arquivo no servidor. É essa variável que deve ser usada no AddAttachment

 

Depois, pra apagar o arquivo, basta usar unlink http://php.net/unlink

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já trabalhou com upload de arquivo? Se ainda não, veja este tópico, apenas ignore a parte em que salva no banco

 

No tutorial, $arquivo_nome é o caminho completo ao arquivo no servidor. É essa variável que deve ser usada no AddAttachment

 

Depois, pra apagar o arquivo, basta usar unlink http://php.net/unlink

Retirando o consegui do upload.. chegou o email mas nao chegou o anexo kkkk

 

 

 

 


Puttzz O anexo não quer chegar. não sei jeito kkkk

 

              //no form o nome do input type file é arquivo
$arquivo = $_FILES["arquivo"];
//Pasta para onde vai o arquivo né?!
$pasta_dir = "trabalhos cientificos/";




                 // variáveis do formulário (todas funfam) 
  $cpf = $_POST['cpf'];
  $instituicao = $_POST['instituicao'];
  $email = $_POST['email'];
  $aarea1 = $_POST['aarea1'];
  $aarea2 = $_POST['aarea2'];
  $aarea3 = $_POST['aarea3'];
  $aarea4 = $_POST['aarea4'];
  $aarea5 = $_POST['aarea5'];
  $bresumodetalhes = $_POST['bresumodetalhes'];
  $autortrab = $_POST['autortrab'];
  $instituicaotrab = $_POST['instituicaotrab'];
  $nomeinst = $_POST['nomeinst'];
  $enderecoinst = $_POST['enderecoinst'];
  $bairoinst  = $_POST['bairoinst'];
  $cidadeinst = $_POST['cidadeinst'];
  $estadoinst   = $_POST['estadoinst'];
  $paisinst = $_POST['paisinst'];

$mail->From = 'trabalho@congpsicomotricidaderelacional.com';
$mail->FromName = 'Site congpsicomotricidaderelacional.com';
$mail->addAddress('congprelacional.trabalho@gmail.com');     // Add a recipient

// PARTE DO ANEXO COMEÇA AQUI 
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}

$arquivo_nome = $pasta_dir . $arquivo["name"];

// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);

$mail->addAttachment($arquivo_nome);    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML
// TERMINA AQUI
$mail->Subject = 'Envio de Trabalho Científico';
$mail->Body    = "<b>CPF: ".$cpf."
 <br />
Instituicao: ".$instituicao." 
<br />
Email para Contato: ".$email."  </b>
<br>
<br>
<b>1ª Etapa Pergunta A)</b>
<br />
Area 1- Corpo/Corpo: <b>".$aarea1."</b>
 <br /> 
Area 2 - Corpo/ Ciência: <b>".$aarea2."</b>
 <br />
Area 3 - Corpo/Cultura: <b>".$aarea3."</b>
 <br />
Area 4 - Psicomotricidade Relacional e Educação Inclusiva: <b>".$aarea4."</b>
 <br />
Area 5 - Psicomotricidade Relacional na Formação inicial e continuada do docente : <b>".$aarea5."</b>
<br>
<br>
<b>1ª Etapa Pergunta B)</b>
<br />
Informações sobre o resumo enviado: <b>".$bresumodetalhes."</b>
<br>
<br>
<b>2ª Etapa - Indicar o nome do autor que irá fazer a apresentação:</b>
<br />
Autor: <b>".$autortrab."</b>
<br / >
Instituição: <b>".$instituicaotrab."</b>
<br>
<br>
<b>3ª Etapa: Cadastro da instituição/ local que trabalha que irá representar.</b>
<br />
Nome: ".$nomeinst." <br />
Endereço: ".$nomeinst." <br />
Bairro: ".$bairroinst." <br />
Cidade: ".$cidadeinst." <br />
Estado: ".$estadoinst." <br />
País: ".$paisinst." <br />";






//$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Ops.. Houve um erro no envio do email. Desculpe o transtorno, tente novamente mais tarde.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo "<script>alert('Enviado com sucesso! Aguarde nossa resposta no email informado!');window.location='index.php'</script>";
}



?>

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.