Jump to content
Fórum Script Brasil
  • 0

Erro com formulario de contato


Question

Quando eu clico em enviar para enviar uma mensagem por formulario, dá erro, olhem os codigos:

formulario.php

<html>
<body>
<form action="enviar.php" method="post">
Nome: <input name="nome" type="text" /><br />
E-mail: <input name="email" type="text" /><br />
Assunto: <input name="assunto" type="text" /><br />
<textarea name="mensagem"></textarea><br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
enviar.php
<html>
<body>
<?php
$nome = $_POST[nome];
$email = $_POST[email];
$assunto = $_POST[assunto];
$mensagem = nl2br($_POST[mensagem]);

$seuemail = "[email protected]";


$conteudo = "Nome: $nome<br />";
$conteudo .= "E-mail: $email<br />";
$conteudo .= "Assunto: $assunto<br />";
$conteudo .= "Mensagem: $mensagem";


$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email \r\n";


$enviar = mail($seuemail, $assunto, $mensagem, $headers);


if($enviar) {
    echo "Mensagem enviada com sucesso!";
}
else{
    echo "Ocorreu um erro!";
}
?>

</body>
</html>

alguém ai pode ajudar? :rolleyes:

Edited by juninhodagavioes
Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Verifique se a função email está habilitada function_exits('mail). Exemplo:

<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = nl2br($_POST['mensagem']);

$seuemail = "[email protected]";


$conteudo = "Nome: $nome<br />";
$conteudo .= "E-mail: $email<br />";
$conteudo .= "Assunto: $assunto<br />";
$conteudo .= "Mensagem: $mensagem";


$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email \r\n";


mail($seuemail, $assunto, $mensagem, $headers);

if(function_exists('mail')){
die("a funcao mail não estas habilitada");
}

if($enviar) {
    echo "Mensagem enviada com sucesso!";
}
else{
    echo "Ocorreu um erro!";
}
?>

Se ela não estiver habilitada você não conseguirá enviar email, se está testando em um localhost sem servidor smtp instalado não funciona mesmo.

Teste online ou instale e configure um servidor smtp local depois sete no php.ini

Link to post
Share on other sites
  • 0
Bom, aí diz que a mensagem foi enviada, mas não chegou nada no meu email, isso que é meu problema, vlw pela resposta =)

falou

Bom aí já é erro no servidor smtp ou o servidor para qual você enviou a mensagem não aceittou a mensagem por vir de um servidor local. Nunca usei esse smtp que o Edgar lhe passou mas ele deve ter algum painel de controle que mostra as mensagens enviadas, da uma checada la se sua mensagem foi enviada, se la estiver marcado como enviado o mais provavel é que o servidor que ia receber a mensagem recusou seu servidor de envio de emails por ser local.

Mas porque ele teria recusado?

Porque se você permitir receber emails enviados de um servidor local, sem um ip fixo registrado, no seu servidor de emails você vai receber 1 trilhão de spams por dia sem saber de onde veio.

PS: Uma outra opção de servidor smtp é o easy smtp server

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148684
    • Total Posts
      644516
×
×
  • Create New...