Jump to content

Envia email em branco


nmoa
 Share

Recommended Posts

bom dia

tenho um formulario que envia um email, depois de preenchidos todos os campos obrigatórios.

estou a enviar o mail por mail form, mas a questão é que volta e meia recebo emails com os campos vazios, ora se eu coloco como obrigatórios como é que se consegue enviar o email vazio...

a unica maneira é enviado directamente no ficheiro funcoes, onde está o codigo do email....mas quem o faz?!

já alguém aconteceu isto?

obrigado

nuno

Link to comment
Share on other sites

o codigo que estou a usar é este

$registo = $_POST["email"];
$to = $registo;
$subject = "Pre-Inscrição em curso";
// array vindas do form
$nome	 = $_POST["nome"];
if(isset($_GET["id"])){
$cus= mysql_query("SELECT * FROM cursos where id_cursos=".$_GET["id"]."");
$c= mysql_fetch_array($cus);
$cursonome = $c["titulo_PT"];

}else{
$cursonome = $c["titulo_PT"];
}
// menssagem
$message = "
<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\" border=\"0\">
<tr>
<td align=\"center\" valign=\"top\" style=\"padding: 20px 0 20px 0\">
<table bgcolor=\"FFFFFF\" cellspacing=\"0\" cellpadding=\"10\" border=\"0\" width=\"500\" style=\"border:1px solid #E0E0E0;\">
<tr>
<td valign=\"top\">
<img src=\"http://duit.com/imgs/icons_03.png\" /></td>
</tr>

<tr><td> Caro(a) ".$nome.", <br></td></tr><tr>
<td>
<br /> Encontra-se pré-inscrito para o seguinte curso :<br><strong>".$cursonome." </strong>
</td></tr>
<tr><td>A nossa equipa entrará em contacto brevemente.</td></tr>
<tr><td>Cumprimentos<br> A equipa</td></tr>


</table>
</td>
</tr>
</table>


";
$headers = "From: teste@duit.com ";
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .

 "Content-Type: multipart/mixed;\n" .

 " boundary=\"{$mime_boundary}\"";
$message .= "This is a multi-part message in MIME format.\n\n" .
 "--{$mime_boundary}\n" .
 "Content-Type:text/html; charset=\"utf-8\"\n" .
 "Content-Transfer-Encoding: 7bit\n\n" .

$message . "\n\n";

mail($to, $subject, $message, $headers);
Edited by apocsantos
Link to comment
Share on other sites

Eu acho que o problema sò pode ser um dos 2 casos:

  1. Se a validacao como o @acao disse so ocorre no lado do cliente atraves de javascript, significa que um utilizador com javascript disabilitado podederia enviar o form sem validacao, logo receberias um mail vazio
  2. Se o codigo de enviar o email està na propria pagina da inscricao ou è chamado desta pagina e nao estiver corretamente implementada a logica, poderà estar a enviar um email vazio

Deverias tentar reproduzir a situacao para perceber quando e como realmente acontece fazeres debug e em qualquer dos casos deverias fazer a validacao no lado do servidor.

Edited by tuga74

http://www.nova.news

Nova aprende automaticamente o que gostas de ler e mostra os conteúdos que te interessam.

Link to comment
Share on other sites

Olá nmoa,

não que ajude directamente a resolver o teu problema, mas sugira que visses este tópico:

http://www.portugal-a-programar.pt/topic/16541-vulnerabilidades-em-aplicacoes-web/

tens algumas falhas de segurança no teu código.

Deixo mais uma sugestão: nunca assumas nada sobre o que é recebido pelo servidor php, i.e., não assumas que o javascript correu ou que alguma validação foi feita.

Todas as validações devem ser feitas do lado do servidor. Fazê-las também do lado do cliente(browser/javascript) é bom para proporcionar uma boa experiência mas, em termos de segurança, pouco ou nada garante.

Cumprimentos

Edited by tiago.f
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.