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>