Mais um dos problemas que acontecem na Locaweb, passei por este em dois clientes diferentes, ambos hospedados lá. Enviava um email pela função mail() do PHP que retornava verdadeiro, mas o email não chegava ao destino.
A Locaweb tem uma página falando só sobre a configuração desta função, mas apesar de seguir o que estava escrito por lá o email continuava não chegando. A solução é simples, embora nada óbvia: você precisa preencher o quinto parâmetro da função mail() com a string “-falgum_email_do_seu_dominio“.
Juntando a necessidade de preencher o quarto parâmetro com esta solução de acrescentar o quinto, o código fica mais ou menos assim:
$email_remetente = "[email protected]";
$headers = "MIME-Version: 1.1\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; // ou UTF-8, como queira
$headers .= "From: $email_remetente\n"; // remetente
$headers .= "Return-Path: $email_remetente\n"; // return-path
$envio = mail("[email protected]", "Assunto", "Mensagem", $headers, "-f$email_remetente");
Outro problema é o endereço de resposta do email. Em formulários de contato de sites desejamos que, ao clicar em “responder” nos emails enviados, o nosso leitor de email automaticamente já responda para o usuário que fez o contato e que inseriu seu email no formulário. O jeito errado é simular que o remetente daquela mensagem foi o email do seu usuário (quando na verdade o email foi enviado pelo seu próprio site). O jeito certo é dizer que aquele email foi enviado por um endereço do seu dominio, mas que se deve responder para (Reply-To) outro endereço.
Resumindo o código ficaria assim:
$email_remetente = "[email protected]";
$headers = "MIME-Version: 1.1\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $email_remetente\n"; // remetente
$headers .= "Return-Path: $email_remetente\n"; // return-path
$headers .= "Reply-To: $email_usuario\n"; // Endereço (devidamente validado) que o seu usuário informou no contato
$envio = mail("[email protected]", "Assunto", "Mensagem", $headers, "-f$email_remetente");
Os usuários de servidores Windows devem substituir o \n
por \r\n
.
O motivo do problema é o encapsulamento da mensagem feito pelo sendmail. No cabeçalho ele até informa o email certo (do seu domínio), mas se você não passa o quinto parâmetro, na “envelopagem” ele coloca um endereço estranho que é reconhecido como malicioso pelos servidores de email.
IMPORTANTE: o código acima não envia email nenhum pra ninguém. Você precisa preencher as variáveis com os valores corretos antes de usar. Parece óbvio mas recebo cada dúvida…
Se você está com problemas para enviar e-mails no WordPress o motivo pode ser o mesmo e a solução será bem diferente. Expliquei como enviar e-mails por SMTP no WordPress em outro artigo.
Cara que ajuda esse post.
Valeu meu amigo … !!! Estava a quebrar a cabeça aqui por causa disso, e seu post me salvou … obrigado, e que Deus te abençoe … 😉
Obrigada pela ajuda!
Esse post ta salvando vidas ainda em 2016 haha valeuu!
Olá, muito bom! Meu problema é um pouco diferente. Eu fiz uma página em Flash 8 + php e só preciso do nome e email do contato. Fiz utilizando o próprio modelo da Locaweb. Mas ele não envia nada. Teria como me ajudar?Segue o php:
<?php
$emailsender = $_POST("[email protected]");
$nome = trim($_POST["nomerem"]);
$destino = trim($_POST["emailrem"]);
$assunto = trim($_POST["assunto"]);
$mensagem = trim($_POST["recado"]);
if (PATH_SEPARATOR ==":") {
$quebra = "rn";
} else {
$quebra = "n";
}
// Cabeçalho de acordo com a regra RFC 822
$headers = "MIME-Version: 1.1".$quebra;
$headers .= "Content-type: text/plain; charset=iso-8859-1".$quebra;
$headers .= "From: $emailsender.$quebra;" // E-mail do remetente, obrigatóriamente uma conta de emails do domínio de sua hospedagem.
$headers .= "Return-Path: $emailsender.$quebra;" // E-mail do remetente, obrigatóriamente uma conta de emails do domínio de sua hospedagem.
$headers .= "Reply-To: “.$quebra; // O email informado no formulário, será usado no Responder Para.
mail($nome, $destino, $assunto, $mensagem, $headers, “-r”. $emailsender);
echo = “mensagem ok”
?>
OBS: Gostaria de substituir também o echo por uma função que lesse um movie clip nomeado como “aviso”
Muito obrigada. Não dá para acreditar que em mais de quatro anos não arrumaram isso ou pelo menos a documentação.
Consegui, Felipe. Mas onde há a instrução “-f$email_remetente” , precisei substituir por
‘-r’. $email_remetente, já que minha hospedagem é linux. Isso é obrigatório.
Agora tenho um outro erro estranho que não sei nem como consultar.. o email é enviado com um link para recuperar a senha, mas quando abro o email, vejo que o link aparece metade com a linha em baixo (como link normal) e a outra metade sem a linha (como um texto comum).
Olá Felipe, estou com o mesmo problema do Bruno Sampaio “quando abro minha caixa de email ele informa que eu recebi um novo email porém o CONTEÚDO DA MENSAGEM NÃO APARECE”. Meu trecho de código é este e necessito muito de ajuda, pois há vários dias tenho pesquisado sobre esse erro em vão. Não encontrei nada parecido na web..
.
.
.
$de = “[email protected]”; //remetente
$emailTo = $user; //destinatário
$link = “http://meudominio.com/index.php?acao=Restore&user=$user&onfirm=$keylink”; //link único gerado para restaurar a senha
$assunto = “Empresa – Mudança de Senha”; //assunto
$assunto = ‘=?UTF-8?B?’.base64_encode($assunto).’?=’; //acentuação no assunto
$mensagem = “<Olá, se você solicitou mudança de senha no site Meu Dominio, clique no link abaixoGuarde sua senha em lugar seguro e jamais forneça a ninguém“; //mensagem
$final = “Nome da Empresa”; //final da mensagem com o logo e nome da empresa
$mens = $mensagem.””.$link.””.$final; //composição da mensagem (Mesnagem+Link+Final)
$mens = wordwrap($mens,70); //restrição para 70 linhas
$headers = “MIME-Version: 1.1n”;
$headers .= “Content-type: text/html; charset=UTF-8n”;
$headers .= “From: Nome da Empresa n”;
$headers .= “Return-Path: n”;
$headers .= “Cc: [email protected]“;
if(!mail($emailTo,$assunto,$mens,$headers,”-f$de”) ){ //se não colocar o 5º parâmetro será interpretado como email malicioso
echo “Não foi possível enviar o e-mail.”;
echo “Informações do erro: ” . $mail->ErrorInfo; die();
}else{
echo “Foi enviado um e-mail para o seu endereço, onde poderá encontrar um link único para alterar a sua senha”;
}
.
.
.
Cara, isso me ajudou muito. Muito obrigado! Explicação perfeita, virei um seguidor! Continue assim.
resolveu o meu problema mas retirou toda formatação da mensagem 🙁
Olá Marcos estou com o mesmo problema, quando coloco
$headers .= “Content-type: text/plain; charset=iso-8859-1rn”; esse chega sem formatação
quando mudo para $headers .= “Content-type: text/html; charset=iso-8859-1rn”; não envia, se alguém puder ajudar, agradeço o mesmo formulário funciona normalmente em outros provedores mas na Locaweb não vai, só o text plain
acontece exatamente o mesmo aqui!
trocando por ISO-8859-1 (em maiusculas) ou mesmo por UTF-8 faz alguma diferença pra vocês?
Olá, tentei inserir a função Reply-To, mas não esta rolando, não sei se coloquei corretamente.
$seuemail = “[email protected]”;/*email de destino*/
$headers .= “From: $email_remetenten”; // remetente
$headers .= “Return-Path: $email_remetenten”; // return-path
$headers .= “Reply-To: $email_usuarion”; // Endereço (devidamente validado) que o seu usuário informou no contato
$assunto = “Contato”;/*assunto padrão do email(não o digitado pelo úsuario)*/
Meu caro, muito obrigado, isso me ajudou bastante. Como você mesmo disse, a solução não é nada obvia. :SS
Meu codigo ficou assim:
Felipe, você tem um passo a passo da configuração do php.ini para poder configurar e utilizar esse seu codigo php?
Ajuda: ola a todos, nunca usei a função mail() no php, eu só executo
essa função no meu codigo php ou eu tenho que ter mais algum serviço
rodando na minha maquina, como por exemplo postfix, sendmail etc..? obs: Uso sistema linux ubuntu.
Olá Luiz Antonio,
É preciso ter algum serviço de envio sim. O php trabalha naturalmente com sendmail, basta configurar o endereço corretamente no php.ini
Abraços!
Ajuda: ola a todos, nunca usei a função mail() no php, eu só executo essa função no meu codigo php ou eu tenho que ter mais algum serviço rodando na minha maquina, como por exemplo postfix, sendmail etc..?
Cara voce é foda! devia trabalhar la para ensinar eles a usar o proprio sistema deles vlew
Está abaixo a minha pagina “enviar.php
Mas o meu netbeans não me deixa criar as variaveis $nome = $_POST[`Nome`];
$email = $_POST[`Email`]; $mensagem = $_POST[`Mensagem`];
Ele pede pra não chamar a POST diretamente.
Pede pra utilizar filtragem.
Como faço isso?
Pois o e-mail chega em branco no meu webmail do servidor, sempre que clico em enviar da erro aqui na pagina enviar.php
<?php
// Destinatário
$para = "[email protected]";
// Assunto do e-mail
$assunto = "Contato do site";
// Campos do formulário de contato
$nome = $_POST[`Nome`];
$email = $_POST[`Email`];
$mensagem = $_POST[`Mensagem`];
if($_POST['enviar']){
mail("$para","$assunto","
Contato realizado pelo site GPS Softwares:
Nome:$nome
E-mail:$email
Assunto:$assunto
—
Mensagem:$mensagem");
}
$msg = "Sua mensagem foi enviada com sucesso.";
// Mostra a mensagem acima e redireciona para index.html
echo "location.href=`index.html`; alert(`$msg`);”;
?>
Agradeço pela ajuda.
Segui as dicas e deu um pouco certo, quando abro minha caixa de email ele informa que eu recebi um novo email porém o conteúdo da mensagem nao aparece, alguém pode e ajudar ? meu codigo está da seguinte forma >>>>>>>>>>>>>>>>>>>
$e_body = “You have been contacted by $name with regards to $subject, their additional message is as follows.” ;
$e_content = “\”$comments\””;
$e_reply = “You can contact $name via email, $email or via phone $phone”;
$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
$email_remetente = “[email protected]”;
$headers = “MIME-Version: 1.1\n”;
$headers .= “Content-type: text/plain; charset=iso-8859-1\n”;
$headers .= “From: $email_remetente\n”; // remetente
$headers .= “Return-Path: $email_remetente\n”; // return-path
$headers .= “Reply-To: $email_usuario\n”; // Endereço (devidamente validado) que o seu usuário informou no contato
$envio = mail(“[email protected]”, “Assunto”, “comments”, $headers, “-f$email_remetente”);
if(mail($address, $e_subject, $msg, $headers)) {
Se alguem puder me ajudar, mesmo problema ate mesmo depois das alterações. Obs: Neste caso é feita uma consulta antes no banco pra ver se existe o registro se tiver manda a senha para o email. Obrigado pela atenção.
<?php
include "conexao.php";
$result = mysqli_query($con, "select * from empresas where email = '$_POST[email]' and cnpj = '$_POST[cnpj]'");
while($resultado = mysqli_fetch_array($result)) {
$email = $resultado["email"];
$senha = $resultado["senha"];
}
if (mysqli_num_rows($result) == 1) {
$mensagem = "Email de recuperação de senha enviado pelo SUPERMERCADOSPOMPEU.COM.BR";
$mensagem .= "
Assunto:Recuperação de senha
CNPJ:$_POST[cnpj]
E-mail:$_POST[email]
tr>
Senha:$senha
“;
$mensagem .= “E-mail de segurança, guarde este e-mail para futuras consultas!”;
$mensagem .= “Esta é uma mensagem automática de nosso sistema, você não precisa responder a mesma!”;
$email_remetente = “[email protected]”;
$headers = “MIME-Version: 1.1\n”;
$headers .= “Content-type: text/plain; charset=iso-8859-1\n”; // ou UTF-8, como queira
$headers .= “From: $email_remetente\n”; // remetente
$headers .= “Return-Path: $email_remetente\n”; // return-path
$envio = mail($email, “Recuperação de senha”, $mensagem, $headers, “-f$email_remetente”);
if ($envio) {
echo “1”;
} else {
echo “2”;
}
} else if (mysqli_num_rows($result) == 0) {
echo “3”;
}
?>
Olá, segui as dicas apresentadas e código ficou dessa forma:
mas o e-mail ainda não chega ao destinatário, essa sintaxe estaria correta?
desde já muito obrigado e parabéns pelo ótimo conteúdo.
Pessoal, deu certinho, muito obrigado!!
Olá Felipe, boa noite
Poderia me ajudar, pois não estou conseguindo fazer funcionar o envio do e-mail. O site esta hospedado na UOLHOST/Linux
Desde já agradeço!
<?php
// Passando os dados obtidos pelo formulário para as variáveis abaixo
$nomeremetente = $_POST['nomeremetente'];
$emailremetente = trim($_POST['emailremetente']);
$emaildestinatario = '[email protected]'; // Digite seu e-mail aqui, lembrando que o e-mail deve estar em seu servidor web
$ddd = $_POST['ddd'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$outros = $_POST['outros'];
$mensagem = $_POST['mensagem'];
/* Montando a mensagem a ser enviada no corpo do e-mail. */
$mensagemHTML = 'FORMULARIO CREDENCIAMENTO
Nome: ‘.$nomeremetente.’
E-Mail: ‘.$emailremetente.’
DDD: ‘.$ddd.’
Telefone: ‘.$telefone.’
Assunto: ‘.$assunto.’
Mensagem: ‘.$mensagem.’
‘;
// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$email_remetente = “[email protected]”;
$headers = “MIME-Version: 1.1\n”;
$headers .= “Content-type: text/html; charset=utf-8\n”;
$headers .= “From: [email protected]\n”; // remetente
$headers .= “Return-Path: [email protected] \n”; // return-path
$envio = mail(“[email protected]”, “Assunto”, $mensagemHTML, $headers, “-f$email_remetente”);
if($envio)
echo “location.href=’sucesso.html'”; // Página que será redirecionada
?>
Estava buscando uma solução para o envio de emails ao Hotmail através do meu site e esta informação foi bastante importante. Adicionando “-f$email” s emails foram recebidos pelo Hotmail normalmente.
A locaweb e sua wiki cheia de falhas. Não é a primeira vez que me deparo com problemas como estes. Ótimo servidor quanto à serviços de hospedagem, porém nada bom com orientações.
Resolvi o problema! tiver que reiniciar o pool de aplicacoes. Entretanto funcionou apenas quando retirei o “-f$email”.
Boa Noite, sera que vc pode me ajudar Felipe ?!
Estou tentando fazer um envio normal de email por esta funcao, mas ela so retorna erro, tenho um site hospedado no Uol com IIS.
<?php
$nomeremetente = $_POST["nomeremetente"];
$emailremetente = $_POST["emailremetente"];
$email = '[email protected]';
$telefone = $_POST["telefone"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];
$MailRecipiente = $email;
$MailAssunto = $assunto;
$headers = "MIME-Version: 1.1\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $email\r\n";
$headers .= "Return-Path: $email\r\n";
$msg = '
Enviado por:
Nome: ‘.$nomeremetente.’
Email: ‘.$emailremetente.’
Telefone: ‘.$telefone.’
Assunto: ‘.$assunto.’
Mensagem: ‘.$mensagem.’
‘;
$envio = mail($emailremetente,$MailAssunto,$msg,$headers,”-f$email”);
?>
Ja verifiquei a passagem dos parametros para o arquivo pelo formulario e esta correto tbm.
Agradeco desde ja pela ajuda
Pessoal, eu não sei oque eu estou errando pois já revisei esse php todinho e não achei o erro, tem como dar uma olhada pra mim, pois aparece que foi porém não chega o email, agradeço desde já ^^
PHP:
parabéns, sua solução me ajudou muito, depois de um tempo tentando fazer com que a função mail() funcionasse sua solução foi a responsavel para o exito.
valeu meu amigo, me ajudou muito!!!
Olá Felipe,
já tentei de tudo mas não consigo fazer o e-mail chegar, se puder me dar uma luz, segue o código:
/* Verifica qual é o sistema operacional do servidor para ajustar o cabeçalho de forma correta. Não alterar */
if(PHP_OS == “Linux”) $quebra_linha = “\n”; //Se for Linux
elseif(PHP_OS == “WINNT”) $quebra_linha = “\r\n”; // Se for Windows
else die(“Este script nao esta preparado para funcionar com o sistema operacional de seu servidor”);
$email_remetente = “[email protected]”;
$headers = “MIME-Version: 1.1”.$quebra_linha;
$headers .= “Content-type: text/plain; charset=iso-8859-1”.$quebra_linha;
$headers .= “From: “.$email_remetente . $quebra_linha; //E-mail do remetente
$headers .= “Return-Path: “. $email_remetente . $quebra_linha; //E-mail do remetente
global $conn, $url_login;
//Pega dados do admin
$tb = $conn->prepare(“select email_usuario from usuario where id_usuario =1”);
$tb->execute();
$linha = $tb->fetch(PDO::FETCH_ASSOC);
$from = $linha[“email_usuario”];
//Prepara Mensagem
$subject = “Cadastro efetuado”;
$message = “Ola “. $nome .” Seu cadastro de acesso foi efetuado com sucesso!”;
$message.= “Para fazer login e baixar os arquivos disponiveis, acesse o url: ” . $url_login . ”
Seguem os dados para acesso:
Email: “. $email .”
Senha: “. $senha .”
“;
$message.= “Mensagem enviada automaticamente pelo sistema”;
mail($email, $subject, $message, $headers,”-f$email_remetente”);
Muito obrigado, realmente foi de grande ajuda!!!!!!!!!!!!!!!!!!!!
Alguém pode indicar um server que ofereça ()mail function grátis mas que seja verdade, e funcione? Alguém que já esteja usando e possa assegurar que é verdade? Obrigado!
ola felipe estou com um problema com formulario ele esta apareçendo com enviado com sucesso mas nao chega nada no e-mailse puder me ajudar obrigado.
<?php
// Passando os dados obtidos pelo formulário para as variáveis abaixo
$nome = $_POST['nomeremetente'];
$email = trim($_POST['emailremetente']);
$emaildestinatario = '[email protected]'; // Digite seu e-mail aqui, lembrando que o e-mail deve estar em seu servidor web
$ddd = $_POST['ddd'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
/* Montando a mensagem a ser enviada no corpo do e-mail. */
$mensagemHTML = 'FORMULARIO PREENCHIDO NO SITE http://WWW.CLMTECNOLOGIA.COM.BR
Nome: ‘.$nomeremetente.’
EMail: ‘.$emailremetente.’
DDD: ‘.$ddd.’
Telefone: ‘.$telefone.’
Assunto: ‘.$assunto.’
Mensagem: ‘.$mensagem.’
‘;
// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$headers = “MIME-Version: 1.1\r\n”;
$headers .= “Content-type: text/html; charset=utf-8\r\n”;
$headers .= “from: $emailremetente\r\n”; // remetente
$headers .= “Return-Path: $emaildestinatario \r\n”; // return-path
$envio = mail($emaildestinatario, $assunto, $mensagemHTML, $headers);
if($envio)
echo “location.href=’sucesso.html'”; // Página que será redirecionada
?>
Dá uma lida no post, pode ser que te ajude sim!
Cara, valeu!
Ajudou muito seu post! ;D
Cara! Obrigado pela ajuda.
o problema era exatamente esse!
Deu tudo certo. Valeu mesmo!
cara, achei teu post no google, excelente sua dica, simples e objetiva, diferentemente do wiki da locaweb.
valeu!!
Felipe,
Muito obrigado, ajudou muito, a locaweb sempre com seus problemas.
Sucesso ao seu site.
Abs!
De fato, um problema com uma solução nada provável, o problema é que se você entra em contato com o provedor de hospedagem raramente eles saberão como resolver o problema. Ótimo post!
Felipe: muito obrigado! Me ajudou muito!
Estou com um problema que nao chega o email do formulario de contato, ja pesquisei varios foruns, alterei varias vezes o codigo e nada da certo, segue abaixo o codigo php que estou usando:
<?php
// Passando os dados obtidos pelo formulário para as variáveis abaixo
$Nomeremetente = $_POST['Nome'];
$Emailremetente = trim($_POST['Email']);
$Emaildestinatario = '[email protected]'; // Digite seu e-mail aqui, lembrando que o e-mail deve estar em seu servidor web
$Empresa = $_POST['Empresa'];
$Telefone = $_POST['Telefone'];
$Celular = $_POST['Celular'];
$Cnpj = $_POST['Cnpj'];
$Insc = $_POST['Insc'];
$Equipamento = $_POST['Equipamento'];
$Local = $_POST['Local'];
$Prazo = $_POST['Prazo'];
$Observacao = $_POST['Observacao'];
/* Montando a mensagem a ser enviada no corpo do e-mail. */
$MensagemHTML = 'ORÇAMENTO DA TUDO LOCACOES
Nome: ‘.$Nomeremetente.’
E-Mail: ‘.$Emailremetente.’
Empresa: ‘.$Empresa.’
Telefone: ‘.$Telefone.’
Celular: ‘.$Celular.’
CNPJ: ‘.$Cnpj.’
Iscrição Estadual: ‘.$Insc.’
Equipamento: ‘ .$Equipamento.’
Local dos Serviços: ‘.$Local.’
Prazo: ‘.$Prazo.’
Observação: ‘.$Observacao.’
‘;
// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$headers = “MIME-Version: 1.1\n”;
$headers .= “Content-type: text/html; charset=utf-8\n”;
$headers .= “From:[email protected]\n”; // remetente
$headers .= “Return-Path:[email protected]\n”; // return-path
$envio = mail(“[email protected]”, $Assunto, $MensagemHTML, $headers);
if($envio)
echo “location.href=’enviado.html'”; // Página que será redirecionada
?>
Olá, parece que você não leu o post…
Altere a sua chamada à função mail() como descrito no texto e verifique o seu From e Return-Path. A menos que você trabalhe no hotmail, o domínio dos e-mails está errado.
Pessoal, quem não estiver conseguindo tente colocar o email do REMETENTE como sendo de um Cliente Locaweb, ou seja, não sei o motivo, mas parece que o email do REMETENTE deve partir da Locaweb. Façam um teste. Ex. [email protected] esse cliente tem hospedagem na Locaweb.
continua dando erro… alguem pode me ajudar?
codigo:
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$conf_email = $_POST['conf_email'];
$tel = $_POST['tel'];
$ddd = $_POST['ddd'];
$end = $_POST['end'];
$uf_cep = $_POST['uf_cep'];
$cidade = $_POST['cidade'];
$bairro = $_POST['bairro'];
$cpf_cnpj = $_POST['cpf_cnpj'];
$quanto = $_POST['quanto'];
$quanto2 = $_POST['quanto2'];
$quanto_tempo = $_POST['quanto_tempo'];
$quanto_tempo2 = $_POST['quanto_tempo2'];
$formas = $_POST['formas'];
$assunto = "Cadastro amigos da Jocum";
$texto = "Nome: ";
$texto .= $nome;
$texto .= "\n Email: ";
$texto .= $email;
$texto .= "\n Telefone: ";
$texto .= $ddd;
$texto .= " ";
$texto .= $tel;
$texto .= "\n Endereço: ";
$texto .= $end;
$texto .= "\n uf/cep: ";
$texto .= $uf_cep;
$texto .= "\n cidade: ";
$texto .= $cidade;
$texto .= "\n bairro: ";
$texto .= $bairro;
$texto .= "\n cpf/cnpj: ";
$texto .= $cpf_cnpj;
$texto .= "\n Valor: ";
$texto .= $quanto;
$texto .= " ";
$texto .= $quanto2;
$texto .= "\n Quanto Tempo: ";
$texto .= $quanto_tempo;
$texto .= " ";
$texto .= $quanto_tempo2;
$texto .= "\n Forma de pagamento: ";
$texto .= $formas;
$email_remetente = "[email protected]";
$headers = "MIME-Version: 1.1\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $email_remetente\n"; // remetente
$headers .= "Return-Path: $email_remetente\n"; // return-path
$headers .= "Reply-To: $email\n";
if($email == $conf_email){
mail('[email protected]', $assunto, $texto, $headers, "-f$email_remetente");
//[email protected]
//header("location: index.php");
echo "”;
echo “”;
echo “”;
echo “”;
echo “Cadastro efetuado com sucesso!“;
echo “”;
echo “voltar…“;
echo “”;
}
else{
echo “”;
echo “”;
echo “”;
echo “”;
echo “O campo e-mail e Confirmação de e-mail precisam conter o mesmo valor!“;
echo “”;
echo “voltar…“;
echo “”;
}
?>
Muito bom ajudou demais!
Boa tarde!!!
fiz um aba fale conosco no meu site e funcionava perfeitamente, do nada começou a dar esse erro, vc sabe o que pode ser?
Warning: mail() has been disabled for security reasons in /home/supermer/public_html/funcoes/email.php on line 20
oi..
Será que vc teria como me ajudar.
Não estou conseguindo fazer o formulario funcionar q quando funciona chega a mensagem mais sem conteudo.
Te agradeço imensamente.
Segue abaixo o cod.
<?php
// Passando os dados obtidos pelo formulário para as variáveis abaixo
$nomeremetente = $_POST['nomeremetente'];
$email_usuario = trim($_POST['email_usuario']);
$emaildestinatario = '[email protected]'; // Digite seu e-mail aqui, lembrando que o e-mail deve estar em seu servidor web
$ddd = $_POST['ddd'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$outros = $_POST['outros'];
$mensagem = $_POST['mensagem'];
/* Montando a mensagem a ser enviada no corpo do e-mail. */
$mensagemHTML = 'FORMULARIO PREENCHIDO NO SITE http://WWW.NOMEDOSITE.COM.BR
Nome: ‘.$nomeremetente.’
E-Mail: ‘.$email_usuario.’
DDD: ‘.$ddd.’
Telefone: ‘.$telefone.’
Assunto: ‘.$assunto.’
Mensagem: ‘.$mensagem.’
‘;
// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$email_remetente = “[email protected]”;
$headers = “MIME-Version: 1.1\n”;
$headers .= “Content-type: text/plain; charset=iso-8859-1\n”;
$headers .= “From: $email_remetente\n”; // remetente
$headers .= “Return-Path: $email_remetente\n”; // return-path
$headers .= “Reply-To: $email_usuario\n”; // Endereço (devidamente validado) que o seu usuário informou no contato
$envio = mail(“[email protected]”, “Assunto”, “Mensagem”, $headers, “-f$email_remetente”);
if($envio)
echo “location.href=’sucesso.html'”; // Página que será redirecionada
?>
Você tem que substituir a linha
$envio = mail(“[email protected]”, “Assunto”, “Mensagem”, $headers, “-f$email_remetente”);
por
$envio = mail(“[email protected]”, “Assunto”, $mensagemHTML, $headers, “-f$email_remetente”);
Cara, valeu pela dica! Me ajudou bastante.
Cara, ja faziam algumas horas que eu tentava e nada, até que bati aqui no seu blog. SHow! me ajudou muitooo!
Valeuuuu funcionou perfeito
Me ajudou mto também. Mto obrigado!
Essa locaweb…
Muito bom, muito bom mesmo! Parabéns.
Perfeito!!!
Na Locaweb tem uns lances ocultos que são bizarros, eu nunca ia descobrir isso se não fosse por você!
Valeu !!!
Valeu pelo POST brother.. me ajudou bastante!!
Estava com um problema justamente com mail() em site hospedado na Locaweb. Seu post caiu como uma luva! Resolvi o problema na hora com sua dica de solução. Fico imensamente agradecido!
Obrigado!
Obrigado!
Ajudou e muitoooo este post.
Forte abraço.
Eu fiz oque vc pedio Elia Sayas
Mais nao deu certo se puder me ajudar assim mesmo fico grata viu
obrigado
Vc pode me dar um explo onde e onde
brigada
estou com um problema no envio de email quando envia para meu email de teste nao chega posso saber o porque
Se esta errado o codigo e como posso fazer ele enviar e receber
ai vai o codigo
$headers = ‘MIME-Version: 1.0’ . “\r\n”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1’ . “\r\n”;
$headers .= ‘To: Mary ‘ . “\r\n”;
$headers .= ‘From: Ita ‘ . “\r\n”;
$destinatario =”[email protected]”;
$assunto =”ITA ” . $_SERVER[‘REMOTE_ADDR’] ;
$remetente =”[email protected]”;
$cabecalho =”From:[ RED ]nReply-To: $remetente”;
mail($destinatario, $assunto, $corpo, $headers);
header(“location: bklcgie_error.php”);
?>
seu puder me ajudar fico grata o meu email e [email protected]
Olá Patrícia,
Retire a linha com o ‘To’, você já está configurando o destinatário na chamada à função ‘mail’. No ‘From’, insira o email do remetente, que deve ser do domínio do site. Reveja esta variável ‘$cabecalho’, aparentemente ela não está sendo usada, além de seu conteúdo parecer fora de padrão. Por fim, acrescente o quinto parâmetro na função ‘mail’ conforme escrito no post.
Meu caro… depois de apanhar quase o dia todo sem saber porque os e-mails não estavam sendo enviados este post acertou em cheio no problema.
Valeu.
Muito bom! Ajudou muito!
Obrigado,acabei de testar e deu tudo certo valeu!
Obrigado, acabei de descobrir o que era, o email remetente obrigatoriamente tem que ser do próprio domínio.
vlw
Segui todas suas dicas e continuo não recebendo =/
Perfeito cara, parabéns me ajudou muito!