RafiWskY 2 Denunciar post Postado Maio 8, 2015 Bom Dia, Estou enfrentando um problema com formulário de contato que está dando febre. O formulário tem os campos Nome, E-Mail, Assunto e Mensagem... Quando o e-mail do cliente tem traços por exemplo, o e-mail de destino não recebe a mensagem. Exemplo: Nome: Rafael E-Mail: ra--fael@hotmail.com E-MAIL É ENVIADO PORÉM DESTINO NÃO RECEBE E-MAIL Nome: Rafael E-Mail: rafael@rafael.com.br E-MAIL É ENVIADO E DESTINO RECEBE O E-MAIL Segue o código que faz o envio do e-mail: if( isset($_POST) ) { $to = 'email@email.com.br'; $subject = $_POST['assunto']; $msg = '<table style="padding: 45px;">'; $msg .= '</table>'; $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=utf-8\n"; $headers .= 'From: ' . $_POST['emailPost'] . "\r\n" . 'Reply-To: ' . $_POST['emailPost'] . "\r\n" . 'X-Mailer: PHP/' . phpversion(); if(mail($to, $subject, $msg, $headers)){ echo '<div class="successmes">'; echo '<div class="message-box-wrap">'; echo '<i class="fa fa-check-square fa-lg"></i> Sua mensagem foi enviada com sucesso.</div>'; echo '</div>'; }else{ echo '<div class="errormes">'; echo '<div class="message-box-wrap">'; echo '<i class="fa fa-exclamation-circle fa-lg"></i> Sua mensagem não foi enviada.</div>'; echo '</div>'; } } Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 8, 2015 Você testou com @hotmail e @rafael.com.br Geralmente os servidores SMTP forçam que o remetente da mensagem tenha o mesmo domínio corrente. Por exemplo, se seu site está em seusite.com, o remetente deve ser qualquer_coisa@seusite.com. Caso contrário, a mensagem não será entregue. Compartilhar este post Link para o post Compartilhar em outros sites
RafiWskY 2 Denunciar post Postado Maio 8, 2015 Sim, o e-mail que faz os envios é da mesma hospedagem e o e-mail que recebe as mensagens também é da mesma hospedagem. O problema está quando o e-mail da pessoa que preencheu o formulário tem alguns caracteres, como traço por exemplo. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 8, 2015 Sim, o e-mail que faz os envios é da mesma hospedagem e o e-mail que recebe as mensagens também é da mesma hospedagem. Acho que você se confundiu. O From é variável no seu código: 'From: ' . $_POST['emailPost'] O problema está quando o e-mail da pessoa que preencheu o formulário tem alguns caracteres, como traço por exemplo. Nunca vi isso antes. Por isso ainda acho que o problema é o domínio do remetente. Recomendo usar o PHPMailer. Veja http://rberaldo.com.br/enviando-e-mails-com-a-classe-phpmailer/ Compartilhar este post Link para o post Compartilhar em outros sites
RafiWskY 2 Denunciar post Postado Maio 8, 2015 Beraldo, você deu uma dica que resolveu o problema. Ao invés de deixar o FROM com o e-mail do usuário, eu deixei com o e-mail que faz o envio. Assim acabou o problema. Sobre o PHP Mailer eu usava ele antes depois passei a usar essa outra função que mostrei. Agora voltei para o PHP Mailer com a mudança que informei. Obrigado pela atenção. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites