Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Dúvida em formulário com anexo

$
0
0

Pessoal, 

 

Utilizando como base o código da Wiki da Locaweb, adaptei para utilizar em meu site o código abaixo.

Quando envio os dados recebo a mensagem de dados enviados com sucesso, porém não recebo o email.

 

Será que alguém consegue me ajudar a encontrar o erro? :( Estou ficando desesperada rsrs

 

 

 

Segue abaixo meu código PHP.

<?php 
 
/* Medida preventiva para evitar que outros domínios sejam remetente da sua mensagem. */
if (eregi('tempsite.ws$|locaweb.com.br$|hospedagemdesites.ws$|websiteseguro.com$|publiccloud.com.br$', $_SERVER[HTTP_HOST])) {
        $emailsender='alinemonteiro@networkpesquisa.com.br'; // Substitua essa linha pelo seu e-mail@seudominio
}
 
/* Verifica qual é o sistema operacional do servidor para ajustar o cabeçalho de forma correta.  */
if(PATH_SEPARATOR == ";") $quebra_linha = "\r\n"; //Se for Windows
else $quebra_linha = "\n"; //Se "não for Windows"

// Passando os dados obtidos pelo formulário para as variáveis abaixo
$contactName     = $_POST['contactName'];
$contactEmail    = $_POST['contactEmail'];
$contactSubject  = "Currículo";
$contactMessage  = $_POST['contactMessage'];
 
$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" . $quebra_linha . ""; 
$mens .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . ""; 
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"" . $quebra_linha . "" . $quebra_linha . ""; //plain 
$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 . ""; 

/* Montando a mensagem a ser enviada no corpo do e-mail. */
$mensagemHTML = '<div style="font-family: Arial; font-size: 12px; color: #0e0c49;">
<P><i>Esta é uma mensagem enviada através do site da Network.</i></P> <hr>
<P><b>Nome do Remetente: </b></P>
<p style="padding-left: 20px; padding-right: 150px;">'.$contactName.'</p>
<P><b>E-mail: </b></P>
<p style="padding-left: 20px; padding-right: 150px;">'.$contactEmail.'</p>
<P><b>Assunto: </b></P>
<p style="padding-left: 20px; padding-right: 150px;">Currículo</p>
<P><b>Mensagem: </b></P>
<p style="padding-left: 20px; padding-right: 150px;">'.$contactMessage.'</p>
<hr></div>';


/* Montando o cabeçalho da mensagem */
$headers = "MIME-Version: 1.0" .$quebra_linha;
$headers .= "Content-type: text/html; charset=utf-8;" .$quebra_linha;
// Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada.
$headers .= "From: " . $emailsender.$quebra_linha;
$headers .= "Reply-To: " . $contactEmail.$quebra_linha;
// Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) 
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . ""; 
$headers .= "$boundary" . $quebra_linha . ""; 

/* Enviando a mensagem */
//É obrigatório o uso do parâmetro -r (concatenação do "From na linha de envio"), aqui na Locaweb:
if(!mail($emailsender, $contactSubject, $mens, $mensagemHTML, $headers ,"-r".$emailsender)){ // Se for Postfix
    $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix"
    mail($emailsender, $contactSubject, $mens, $mensagemHTML, $headers );}
	{
echo "<script>window.location.href='http://www.networkpesquisa.com.br/msgenviada.html'</script>";
 
} }


//se nao tiver anexo 
else { 
 
/* Montando o cabeçalho da mensagem */
$headers = "MIME-Version: 1.0" .$quebra_linha;
$headers .= "Content-type: text/html; charset=utf-8;" .$quebra_linha;
// Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada.
$headers .= "From: " . $emailsender.$quebra_linha;
$headers .= "Reply-To: " . $contactEmail.$quebra_linha;
// Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) 

/* Enviando a mensagem */
//É obrigatório o uso do parâmetro -r (concatenação do "From na linha de envio"), aqui na Locaweb:
if(!mail($emailsender, $contactSubject, $mensagemHTML, $headers ,"-r".$emailsender)){ // Se for Postfix
    $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix"
    mail($emailsender, $contactSubject, $mensagemHTML, $headers );
} 

{
echo "<script>window.location.href='http://www.networkpesquisa.com.br/msgenviada.html'</script>";
}  

}

?>

E meu código HTML.

<!DOCTYPE html>
<!--[if lt IE 8 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 8)|!(IE)]><!--><html lang="en"> <!--<![endif]-->
<head>


   <!--- Basic Page Needs
   ================================================== -->
	<meta charset="utf-8">
	<title>Network Pesquisas de Mercado</title>
	<meta name="description" content="">
	<meta name="author" content="">
	
	<!--- Google Analytics -->
	<script>
	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

	  ga('create', 'UA-63303083-1', 'auto');
	  ga('send', 'pageview');

	</script>

   <!-- Mobile Specific Metas
  ================================================== -->
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

	<!-- CSS
   ================================================== -->
   <link rel="stylesheet" href="css/base.css">
   <link rel="stylesheet" href="css/layout.css">

   <style type="text/css">

      .container {
         background: #fff url(images/patterns/grey.png);
         padding: 90px 0 102px 0;
		 color: #545454;
      }
      .section-head h2 { font: 30px/42px montserrat-bold, sans-serif; }
      .desc { font: 14px/24px opensans-regular, sans-serif; }

   </style>

	<!--[if lt IE 9]>
		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->

   <!-- Favicons
	================================================== -->
	<link rel="shortcut icon" href="favicon.ico">


</head>


<body data-spy="scroll" data-target="#nav-wrap">

   <!-- Container
   ================================================== -->
   <section class="container">
   
         <div class="row add-bottom">
			
			<br><h2>Envie seu currículo!</h2><br><br>
			
			<body onLoad="document.email.nome.focus();"> 
			<form onsubmit="return checa_formulario(this)" action="envia_anexo.php" method="post" enctype="multipart/form-data" name="email"> 
			 
			<label for="contactName">Nome</label> 
			<input name="contactName" type="text" id="contactName">
			
			<label for="contactEmail">Email de contato</label>
			<input name="contactEmail" type="text" class="contactEmail"> 
			
			<label for="contactMessage">Mensagem</label>
			<input name="contactMessage" type="text" class="contactMessage"> 
 
			<label for="arquivo">Envie seu currículo <span style="font-color: #838383;">(de preferência em PDF)</span></label>
			<input name="arquivo" type="file"></td> 
			
			<br><br><br>
			<input type="submit" name="Submit" value="Enviar">

			</form> 
			</body> 
			
		 </div>
	
	</section> <!-- Container End -->

</body>

</html>

Viewing all articles
Browse latest Browse all 14190