Dumont 0 Denunciar post Postado Setembro 13, 2010 Boa tarde, Estou com um problema ao enviar o email..depois de preencher o formulário diz mensagem enviada mas depois não recebo nada no meu email..que poderá ser?? <?php include ('layout.php'); ?> <div id="texto"> <?php if(isset($_POST['Submit'])){ $mail_to= "josericardo19242@gmail.com"; $mail_from=$_POST['txtEmailfrm2']; $mail_sub=$_POST['txtSub2']; $mail_mesg=$_POST['txtMsg2']; if(mail($mail_to,$mail_sub,$mail_mesg,"From:$mail_from/r/nReply-to:$mail_from")) echo "<span class='red'>E-mail enviado com sucesso para $mail_sub to $mail_to</span>"; else echo "<span class='red'>Falha ao enviar E-mail para $mail_sub to $mail_to</span>"; } ?> <form name="frmsendmail" method="post" action="index.php" onSubmit="return ValidationForm()"> <table width="100%" border="0"> <br> <tr> <td width="33%" align="left" class="text"><font face="Bell MT" size="3" color="#15b2ff"> De :</font></tr> <tr> <td width="67%" align="left"><input name="txtEmailto2" type="text" class="input" id="txtEmailto22" size="30" maxlength="100"> </tr> <td align="left" class="text"><font face="Bell MT" size="3" color="#15b2ff"> Assunto :</font></tr> <tr> <td align="left"><input name="txtSub2" type="text" class="input" id="txtSub22" size="30" maxlength="100"> </tr> <tr> <td align="left" class="text"><font face="Bell MT" size="3" color="#15b2ff"> Mensagem :</font> </tr> <tr> <td><textarea name="txtMsg" cols="40" rows="10" class="input" id="textarea"></textarea> </tr> <tr> <td align="right"><input name="hidSubmit" type="hidden" id="hidSubmit" value="true"> <input align="left" name="Submit" type="submit" class="input" value="Enviar"> <td><input align="left" name="Submit2" type="reset" class="input" value="Limpar"> </tr> </table> </form> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Setembro 13, 2010 Seu script está simples e deveria estar funcionando normalmente, porém existem duas razões que podem conflitar com o funcionamento dele. 1 - O servidor ter alguma política anti-spam que está bloqueando. 2 - Seus headers estão incorretos ou incompletos. Acredito que a solução mais provável é simplesmente trocar o "From" por um e-mail interno do servidor, ou seja: $site = 'seusite.com.br'; if(mail($mail_to,$mail_sub,$mail_mesg,'From:Teste<contato@'.$site.'>'."/r/n".'Reply-to:'.$mail_from)) Explicando: muitos servidores bloqueiam o From com e-mails externos, evitando a prática de SPAM. Colocando um e-mail que pertença ao domínio do servidor, o envio é permitido. Se não funcionar avise, que eu faço uns headers mais completos, porém acredito que essa solução resolva seu caso. Até mais Compartilhar este post Link para o post Compartilhar em outros sites
Lincoln Nogueira 0 Denunciar post Postado Setembro 13, 2010 Velho fica muito simples seu form pode ter varios imputs voce so chama o form... ------------------------------------------------------------ Formulario de Envio FORM <form method="post" action="envia_email.php"> ------------------------------------------------------------- envia_email.php <?php if(isset($_POST)) { $email = 'SEU@EMAIL.COM'; $subject = 'Formulario Envio de E-mail'; $formulario = NULL; foreach($_POST as $x => $v){ $formulario .= $x.': ' .$v .'<br />' ; } if(mail($email , $subject, $formulario )){ echo 'Email enviado'; }else{ echo 'Erro';/* editada palavra de baixo calão */ } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Setembro 13, 2010 Cara acho que encontrei uma falha no seu código! Olhe essa parte: <?php if(mail($mail_to,$mail_sub,$mail_mesg,"From:$mail_from/r/nReply-to:$mail_from")) echo "<span class='red'>E-mail enviado com sucesso para $mail_sub to $mail_to</span>"; else echo "<span class='red'>Falha ao enviar E-mail para $mail_sub to $mail_to</span>"; ?> Bom eu não lembro no PHP, mas na linguagem C se as instruções dentro de um if, else ou ifelse tiverem mais de uma linha é necessário utilizar as chaves de abertura e de fechadura! Outra coisa, tente armazenando o header em uma variável e aí você coloca a varável em vez da string! Exemplo: <?php $header="From:$mail_from/r/nReply-to:$mail_from"; if(mail($mail_to,$mail_sub,$mail_mesg,$header)){ echo "<span class='red'>E-mail enviado com sucesso para $mail_sub to $mail_to</span>"; } else{ echo "<span class='red'>Falha ao enviar E-mail para $mail_sub to $mail_to</span>"; } }//Essa aqui é do primeiro if lá em cima! ?> Testa aí e poste de novo! E Lincoln Nogueira Por Favor não utilize de palavras de baixo calão(palavrões) desnecessariamente, aliás não utilize-as em nenhum momento no fórum! http://forum.imasters.com.br/index.php?app=core&module=help 02ª - Comportamento e bons modos - Evite entrar em discussões que não lhe dizem respeito. - Evite palavras de baixo calão (palavrões). - Caso encontre alguma irregularidade e tenha disponibilidade, por favor, comunique ao moderador responsável pela área. - Evite discussões pessoais em público. Caso tenha algo a discutir com alguém, faça em particular. - Leia o tópico inteiro tal como todos os posts antes de responder, para evitar responder algo redundante ou fora de contexto. Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Setembro 13, 2010 Não creio que o problema seja if por dois motivos: 1 - A mensagem final é retornada ao usuário, informando-o se o envio foi possível ou não. 2 - O usuário recebe a mensagem de sucesso, porém não recebe o e-mail. Provavelmente a solução é mudar o remetente ou as headers. Sobre os headers em strings ou variaveis, é indiferente, uma vez que o resultado final é o mesmo. A leitura do header é o que está contido na variável. Todo caso, recomendo também utilizar chaves no script. O código fica mais organizado. Compartilhar este post Link para o post Compartilhar em outros sites
Dumont 0 Denunciar post Postado Setembro 14, 2010 Ainda não estou a conseguir enviar nada..e estava aqui a testar com calma..e afinal ele não está a fazer os echo..Quando envio não dá erro nenhum e vai directamente para a pagina principal..não percebo muito bem porque que ele faz isso porque no submit enviar não digo para o fazer.. H4XOR não percebi muito bem a tua solução..porque ponho o site neste caso será fundacaobetania.com e depois que quer dizer isto? From:Teste<contato@'.$site.' [code=auto:0] Compartilhar este post Link para o post Compartilhar em outros sites
Larry 0 Denunciar post Postado Setembro 16, 2010 Dumont, Segue o seu código funcionando: <?php if(isset($_POST['Submit'])){ $mail_to = "email@servidor.com.br"; $mail_from = $_POST['txtEmailfrm2']; $mail_sub = $_POST['txtSub2']; $mail_mesg = $_POST['txtMsg2']; //global $email; //transforma em variavel global a varivel e-mail (só funciona com isso em alguns servidores) $headers = 'MIME-Version: 1.0 /r/n' . 'From:' . $mail_from . '/r/n' . 'Reply-to:' . $mail_from . '/r/n'; mail($mail_to, $mail_sub, $mail_mesg, $headers); echo "<span class='red'>E-mail enviado com sucesso para $mail_sub to $mail_to</span>"; } ?> Importante: O action do form tem que estar apontando para o arquivo certo ex: action="email.php" Abraço Compartilhar este post Link para o post Compartilhar em outros sites
My name is Jan Lucas 0 Denunciar post Postado Novembro 3, 2010 Sem resultado. Hm, e agora?? Acho que vou fazer pro administrador ver a senha dos usuários e caso haja perda de senha ele os informa por telefone. =/ A unica solução que eu estou vendo.! Compartilhar este post Link para o post Compartilhar em outros sites