João Morsa Postado Junho 24, 2011 Denunciar Share Postado Junho 24, 2011 Olá galera,Estou tentando criar um formulário de contato simples, que após preenchido enviará o conteúdo para um email.Já tentei com vários códigos, e o erro retornado pelo servidor é o seguinte:Warning: mail(): Failed to connect to mailserver at "localhost" port 25,verify your "SMTP" and "smtp_port" setting in php.iniIsso é um problema do servidor? Como posso resolver?Ps.: Não existe esse arquivo php.ini no servidor.Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 beuleal Postado Junho 24, 2011 Denunciar Share Postado Junho 24, 2011 (editado) Olá,A função mail() que eu uso é assimmail("email@provedor.com.br", "$assunto","$mensagem","De: $email\nContent-type: text/html\n");--------Acredito que o erro esteja ocorrendo porque ele precisa de um servidor pra funcionar... o localhost usado com apache e shamp não faz, ou melhor, acredito que não faça. Editado Junho 24, 2011 por beuleal Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 João Morsa Postado Junho 24, 2011 Autor Denunciar Share Postado Junho 24, 2011 (editado) Beuleal, infelizmente não deu certo. O código que estou utilizando é o seguinte:HTML:<form action="enviar.php" method="POST"> <input type="hidden"> <!-- e-mail do destinatario --> <center> <table width="39%" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td>Nome:<br> <input type="text" size="30" name="nome" value=""></td> </tr> <tr> <td>E-mail:<br> <input type="text" size="30" name="email" value=""></td> </tr> <tr> <td>Assunto:<br> <input type="text" size="30" name="assunto" value=""></td> </tr> <tr> <td>Mensagem:<br> <textarea cols="40" rows="10" name="mensagem"></textarea> </td> </tr> <tr> <td> <input name="submit" type="submit" value=" Enviar "> <input name="reset" type="reset" value=" Limpar "></td> </tr> </table> </center> </form> E o PHP: <? $nome = $_POST["nome"]; $site = $_POST["site"]; $email = $_POST["email"]; $fone = $_POST["fone"]; $assunto = $_POST["assunto"]; $mensagem = $_POST["mensagem"]; global $email; //função para validar a variável $email no script todo $data = date("d/m/y"); //função para pegar a data de envio do e-mail $ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário $navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante $hora = date("H:i"); //para pegar a hora com a função date //aqui envia o e-mail para você mail("contato@j3meventos.com.br", "$assunto","$mensagem","De: $email\nContent-type: text/html\n"); //aqui são as configurações para enviar o e-mail para o visitante $site = "seu@email.com"; //o e-mail que aparecerá na caixa postal do visitante $titulo = "Seu Título"; //titulo da mensagem enviada para o visitante $msg = "$nome, obrigado por entrar em contato conosco, em breve entraremos em contato"; //aqui envia o e-mail de auto-resposta para o visitante mail("$email", "$titulo", "$msg", "From: $site" ); echo "<p align=center>$nome, sua mensagem foi enviada com sucesso!</p>"; echo "<p align=center>Estaremos retornando em breve.</p>"; ?>E o erro que é retornado: PHP Warning: mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()Nunca pensei que fosse tão difícil fazer um simples formulário... Editado Junho 24, 2011 por João Morsa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CARLOSRFA Postado Junho 24, 2011 Denunciar Share Postado Junho 24, 2011 Mano é assim:<?$nome = $_POST["nome"];$site = $_POST["site"];$email = $_POST["email"];$fone = $_POST["fone"];$assunto = $_POST["assunto"];$mensagem = $_POST["mensagem"];$site_teste= "MANO AQUI VAI SER EMAIL";global $email; //função para validar a variável $email no script todo$data = date("d/m/y"); //função para pegar a data de envio do e-mail$ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário//aqui envia o e-mail para vocêmail("$site_teste","$nome","\nNome: $nome\nEmail: $email\nSite: $site\nTelefone: $fone\nAssunto: $assunto\nMensagem: $mensagem");echo "<p align=center>$nome, sua mensagem foi enviada com sucesso!</p>";echo "<p align=center>Estaremos retornando em breve.</p>";?>Ai fera essas mensagens de auto-respostas são um sako....e mano pensa comigo....assim que cair do seu email..já vai estar com data/hora e tudo mais...então pra que...?Ferinha ta ae..espero ter ajudado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Junho 24, 2011 Denunciar Share Postado Junho 24, 2011 Não funciona porque você está testando no Windows.O Windows não possui o Sendmail, que o PHP usa para fazer a função mail() funcionar.Uma saída é instalar o fakesendmail, que você pode encontrar no Google, e que resolverá seu problema.A configuração dele é simples, tem tudo no readme dele.Provavelmente ao colocar seu arquivo em algum host, ele rodará sem problemas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 João Morsa Postado Junho 24, 2011 Autor Denunciar Share Postado Junho 24, 2011 Não funciona porque você está testando no Windows.O Windows não possui o Sendmail, que o PHP usa para fazer a função mail() funcionar.Uma saída é instalar o fakesendmail, que você pode encontrar no Google, e que resolverá seu problema.A configuração dele é simples, tem tudo no readme dele.Provavelmente ao colocar seu arquivo em algum host, ele rodará sem problemas.Cara tudo bem?Fiz o download do fakesendmail e alterei o endereço do smtp no arquivo sendmail.ini.No read me, está escrito que eu preciso colar o sendmail.ini alterado e o sendmail.exe numa pasta chamada usr/lib. No meu host, não existe essa pasta. Aonde devo colar os arquivos do sendmail? na mesma pasta onde estão os outros arquivos do site? Se sim, devo alterar algum parâmetro no sendmail.ini?Outra dúvida: é necessário referenciar o arquivo sendmail.ini no meu código php?Segue em anexo outro código que estou utilizando:HTML:<html> <body> <form action="formulario.php" method="POST"> Seu Nome : <input type="text" name="nome"><br> Seu E-mail : <input type="text" name="email"><br> Comentários : <textarea name="comentarios"></textarea><br> <input type="submit" value="Enviar"> </form> </body> </html> PHP: <? // Coloque a mensagem que irá ser enviada para seu e-mail abaixo: $msg = "Mensagem enviada em ".date("d/m/Y").", os dados seguem abaixo: "; while(list($campo, $valor) = each($HTTP_POST_VARS)) { $msg .= ucwords($campo).": ".$valor." "; } // Agora iremos fazer com que o PHP envie os dados do Formulário para seu e-mail: mail("contato@j3meventos.com.br", "Assunto do E-mail",$msg,"From: $REMOTE_ADDR"); echo "Seu e-mail foi enviado com sucesso. Obrigado"; ?>Valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
João Morsa
Olá galera,
Estou tentando criar um formulário de contato simples, que após preenchido enviará o conteúdo para um email.
Já tentei com vários códigos, e o erro retornado pelo servidor é o seguinte:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25,
verify your "SMTP" and "smtp_port" setting in php.ini
Isso é um problema do servidor? Como posso resolver?
Ps.: Não existe esse arquivo php.ini no servidor.
Grato
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.