#!/usr/bin/perl -w

use CGI qw(-any :all);
use CGI::Carp "fatalsToBrowser";

  &ReadParse(*input);
  $nome        = join("", $input{'nome'});
  $assunto     = join("", $input{'assunto'});
  $email       = join("", $input{'email'});
  $mensa       = join("", $input{'mensa'});
  
  # Verifica se o email esta num formato valido
  ($usuario, $servidor) = split(/@/, $email);
  unless ($email=~/^[\w@\.\-]+$/ && $email=~/\@/i && $servidor=~/\./i) {
    $encontrou_erro = 1 ;
  }


  if($encontrou_erro) {
    print "Content-type: text/html\n\n";
      open(ARQUIVO, "../erromail.htm");
      @conteudo_arquivo = <ARQUIVO>;
      close(ARQUIVO);
      $conteudo_arquivo = "@conteudo_arquivo";
      print $conteudo_arquivo;
    } else {
      open(MAIL, "| /usr/sbin/sendmail -t");
      print (MAIL
"To: rosani\@tallentos.com.br
From: $email
Subject: $assunto
Nome - $nome 
Email - $email
Mensagem - $mensa ");
      close(MAIL);

 
      print "Content-type: text/html\n\n";
      open(ARQUIVO, "../obrigmail.htm");
      @conteudo_arquivo = <ARQUIVO>;
      close(ARQUIVO);
      $conteudo_arquivo = "@conteudo_arquivo";
      print $conteudo_arquivo;
   }

sub ReadParse {
  local (*in) = @_ if @_;
  local ($i, $key, $val);

  if    ($ENV{'REQUEST_METHOD'} eq "GET")  { $in = $ENV{'QUERY_STRING'}; }
  elsif ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$in,$ENV{'CONTENT_LENGTH'}); }

  @in = split(/[&;]/,$in);

  foreach $i (0 .. $#in) {
    $in[$i] =~ s/\+/ /g;
    ($key, $val) = split(/=/,$in[$i],2); # splits on the first =.
    $key =~ s/%(..)/pack("c",hex($1))/ge;
    $val =~ s/%(..)/pack("c",hex($1))/ge;
    $in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator
    $in{$key} .= $val;
  }
  return scalar(@in);
}



