marcelow 0 Denunciar post Postado Agosto 3, 2011 Boas! Uma pessoa fez um site pra mim, e então tenho um problema que essa pessoa não consegue resolver. Acontece que no formulario, qdo envia a mensagem, aparece q foi com sucesso. Porém, a mensagem demora umas 5 horas pra chegar no email. eis o envio de email <?php header("Content-type: text/html; charset=utf-8"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // Define vari�veis $msg = null; if($_POST['nome'] && $_POST['email'] && $_POST['mensagem']){ $nome=strtoupper($_POST['nome']); $email=strtolower($_POST['email']); $mensagem=strtoupper($_POST['mensagem']); $assunto = "Contato"; $destinatario = "email@meudominio.com.br"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: $email \r\n"; $html = "<html>"; $html .= " <style> .form1 { font-family: verdana; font-size:10pt; color:black; padding:3px; } HR { color:black; border: 2px black solid; } CENTER{ font-weight:bold; font-size:15pt; } BIG{ font-weight:bold; font-size:14pt; } H1{ FONT-WEIGHT:BOLD; FONT-SIZE:13PT; MARGIN-LEFT:20PX; MARGIN-TOP:0PX; MARGIN-BOTTOM:-9PX } </style>"; $html .= "<DIV CLASS=cur><CENTER>Contato</CENTER><HR><BIG><B> $nome </BIG></B><BR>"; $html .= "<B>Nome: </B> $nome <BR>"; $html .= "<B>Email: </B> $email <BR>"; $html .= "<B>Mensagem: </B> $mensagem <BR>"; $html .= "<HR></DIV>"; $html .= "</html>"; mail($destinatario,$assunto,$html,$headers); $msg = 1; if(isset($msg)) { echo utf8_encode($msg); $resposta = "<font face=verdana size=3 color=black>Email enviado com sucesso !</font>"; } else{ $resposta = "<font face=verdana size=3 color=white>Ocorreu um erro durante o envio do email. Tente enviar mais tarde.</font>"; } header("Location:contato.php?resposta=".$resposta); } ?> Minha hospedagem é uol host, e onde esta email@meudominio.com.br eu substituo pelo meu atual. Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Agosto 3, 2011 A demora está relacionada com seu serviço de e-mail e não com o código. Compartilhar este post Link para o post Compartilhar em outros sites
marcelow 0 Denunciar post Postado Agosto 3, 2011 A demora está relacionada com seu serviço de e-mail e não com o código. Mas por exemplo, eu entro no meu webmail e mando email de mim pra mim mesmo e chega na hora, pego outro email meu (gmail, hotmail) e envio pro meu dominio e chega na hora também. Pq será que só no codigo não chega ? Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Ianni 189 Denunciar post Postado Agosto 3, 2011 A demora se deve a rota feita pela mensagem. Isso é um dos fundamentos da internet, acessar um site, enviar um e-mail e qualquer outra atividade na internet irá passar por vários servidores, esse caminho é invisivel para o usuário, por isso ele tem a impressão que está se conectando diretamente ao servidor que hospeda o site, ou que envia o e-mail. Mas não é assim, todas as solicitações que partem do servidor abc requisitando algo do servidor def podem não ir diretamente de um servidor ao outro, podem antes passar por diversos servidores antes de serem entregues ao destinatário, usando para isso o algoritimo do menor caminho, que determina qual será a rota mais eficiente para o transporte da mensagem, tendo vários parametros, como servidor mais proximo do destino, tempo de resposta dos servidores, etc... Por isso um e-mail enviado do vizinho pode demorar algumas horas para chegar, enquanto o do amigo que fica do outro lado do mundo chega rapidamente. O mesmo ocorre com seu formulário. Compartilhar este post Link para o post Compartilhar em outros sites
marcelow 0 Denunciar post Postado Agosto 3, 2011 A demora se deve a rota feita pela mensagem. Isso é um dos fundamentos da internet, acessar um site, enviar um e-mail e qualquer outra atividade na internet irá passar por vários servidores, esse caminho é invisivel para o usuário, por isso ele tem a impressão que está se conectando diretamente ao servidor que hospeda o site, ou que envia o e-mail. Mas não é assim, todas as solicitações que partem do servidor abc requisitando algo do servidor def podem não ir diretamente de um servidor ao outro, podem antes passar por diversos servidores antes de serem entregues ao destinatário, usando para isso o algoritimo do menor caminho, que determina qual será a rota mais eficiente para o transporte da mensagem, tendo vários parametros, como servidor mais proximo do destino, tempo de resposta dos servidores, etc... Por isso um e-mail enviado do vizinho pode demorar algumas horas para chegar, enquanto o do amigo que fica do outro lado do mundo chega rapidamente. O mesmo ocorre com seu formulário. Compreendo. Até cogitei a hipotese de ser o UOL mesmo, mas depois dos testes que fiz, não vejo motivos para o formulario não chegar no mesmo tempo, tendo em vista que o email que o formulario utiliza para enviar é o mesmo do destinatario. Sendo assim, qual seria minha saida pra que chegasse na hora ? Compartilhar este post Link para o post Compartilhar em outros sites
Torden 0 Denunciar post Postado Agosto 3, 2011 Talvez a saída para você seria fazer uma ligação direta com o servidor receptor da mensagem que você quer mandar... Mas isso tira um pouco da versatilidade do script, fora que, o tempo de recebimento pode variar e também depende de "n" variáveis, desde rota até parâmetros de recebimento e envio. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas M. 0 Denunciar post Postado Agosto 3, 2011 Porque nao usa o PHPClassMail?! Tambem tinha problemas quando usava o mail() migrei todos os meus websites para a Phpclassmail parou de dar problemas. Compartilhar este post Link para o post Compartilhar em outros sites