Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
:cry: Pessoal, socorro. Estou com um problema que já estou achando que é um problemão. Pesquisei na internet, encontrei muita coisa incluisive aqui no imaster, mas o problema continua. É com relação ao envio de menssagem pra caixa postal através da função mail.
Algumas vezes depois de muito tentar começa a enviar. Ontem a tarde aconteceu isso, achei que tinha resolvido, mas algum tempo depois ao ligar novamente o computador descobri que já não estava mandando mais. Estou usando o seguinte codigo:
<?php
// Recebendo os dados passados pela página "form_contato.html"
**$nome = $_POST["nome"];**
**$mail = $_POST["email"];**
**$menssagemInicial = $_POST["mensagem"];**
$para = "meusite@meusite.com.br";
// Definindo o aspecto da mensagem
$mensagem = "<h3>De:</h3> ";
$mensagem .= "$nome";
**$mensagem .="<h3>$mail</h3>";**
**$mensagem .= "<h3>Assunto:</h3>";****$mensagem .= "<h3>Mensagem</h3>";**
**$mensagem .= "<p>";**$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=".$charset."\r\n";
$headers .= "Reply-To: ".$mail."\r\n";
//$headers .= "Cc: copia@seudominio\r\n"; //CAMPO COPIA OPCIONAL
//$headers .= "Bcc: copiaoculta@seudominio\r\n"; //CAMPO COPIA OCULTA OPCIONAL
$headers .= "From: meusite@meusite.com.br\r\n";
$headers .= "Return-Path: meusite@meusite.com.br\r\n";
// Enviando a mensagem para o destinatário
$envia = mail($mail,"Menssagem do site",$mensagem,$headers ); aqui já tentei também assim: $envia = mail($para,"Menssagem do site",$mensagem,$headers );
// Exibe na tela a mensagem de sucesso, e depois redireciona devolta para a página de contato.
**echo "Mensagens Recebidas com Sucesso!";**
**echo "<meta http-equiv='refresh' content='2;URL=form_contato.php'>";**
**?>**
Já tentei de todo jeito.
Se alguem puder me ajudar agradeço muito.Apenas eu, muito obrigado por sua atenção e ajuda.
Eu estou testando no próprio servidor que é o uol host.
Peguei esse código na ajuda deles e não alterei, somente mesmo os endereços de email.
A variável $para recebe o próprio endereço da caixa postal. Está no inicio do código. $mail recebe o email informado no formulário.
Nos código tentei colocando a variável que recebe os endereços de email e tentei também colocando os endereços diretamente: $envia = mail("meusite@meusite.com.br","Menssagem do site",$mensagem,$headers );
Vou ver o link que você indicou e depois posto o resultado. Mais uma vez muito obrigado.
Aquele do php.net eu tenho certeza que vai funcionar porque foi o que eu usei recentemente e apanhei bastante para conseguir fazer funcionar via formulário... :)
Acabei de receber a seguinte resposta do uol. Em resumo eles me disseram o seguinte:
Salientamos que em nossa plataforma de hospedagem o envio de mensagens de e-mails através de formulário está habilitado exclusivamente através de SMTP autenticado, não estando disponível para enviar através da função "mail()" do PHP.
Obrigado pela ajuda.
você pode usar a classe PHPMailer para enviar por SMTP. Falei sobre isso aqui http://rberaldo.com.br/enviando-e-mails-com-a-classe-phpmailer/
Obrigado pela dica Beraldo.
Olá!
Pelo visto isso é mais comum do que eu imaginava!
Você está testando este código online ou de sua localhost? Ja tentou testar o envio direto pelo form sem o formulario html?
Se ja tentou tudo isso e nada, tenta usar esse método do php.net. Foi com ele que consegui fazer o meu funcionar
http://php.net/manual/pt_BR/function.mail.php
///
Desculpe minha ignorância, mas por acaso não teria que ter uma variavel dessas?
$para = $mail;
Ou então, na linha
$para = "meusite@meusite.com.br"
Não teria que ter um email de verdade? Você postou o cód. original de onde você se baseou ou postou exatamente como você usou por último?