Mailform CGI

Godlike_Killer

Power Member
Tenho aqui uma situação... fiz um form e queria que os dados que o utilizador forneceu fossem enviados para o meu e-mail... Já fiz um extensivo trabalho de pesquisa, visto esta ser a primeira vez que me deparo com tal necessidade.
Fiz 3 ficheiros, dos quais vos deixo aqui o código para me poderem dizer se este procedimento é o correcto e/ou onde estou a errar... Isto do CGI faz-me um bocado de confusão lol, estou a trabalhar no Dreamweaver, Dynamic Page, PHP e tal, gravado com a extensão CGI, provavelmente é isto que estou a fazer mal...

Código:
     //mailform.cgi

     use CGI::Application::Mailform;

     my $mf = CGI::Application::Mailform->new();

     $mf->param('MAIL_FROM'   => '[email protected]');
     $mf->param('MAIL_TO'     => '[email protected]');
     $mf->param('HTMLFORM_REDIRECT_URL' => '/localhost/site/mailform.html');
     $mf->param('SUCCESS_REDIRECT_URL'  => '/localhost/site/obrigado.html');
     $mf->param('FORM_FIELDS' => [qw/name address comments etc/]);

     $mf->run();
     exit(0);

Código:
//form.php

<form name="form2" method="post" action="mailform.cgi">
   <input type="hidden" name="rm" value="submitform">
  <table width="100%" border="0" cellpadding="0" cellspacing="10">
            <tr>
              <td><p>&nbsp;</p></td>
            </tr>
            <tr>
              <td><?=$nome?></td>
            </tr>
            <tr>
              <td><input name="Nome" size="40" type="text"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>E-mail</td>
            </tr>
            <tr>
              <td><input name="E-mail" size="20" type="text"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td><?=$assunto?></td>
            </tr>
            <tr>
              <td><input name="Assunto" size="20" type="text"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td><?=$mensagem2?></td>
            </tr>
            <tr>
              <td><textarea rows="4" name="Mensagem" cols="40"></textarea></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td><input name="submit" type="submit" style="font-family: Arial, Helvetica, sans-serif; font-size: 8pt;" value="OK">
                  <input value="<?=$apagar?>" name="clean" style="font-family: Arial, Helvetica, sans-serif; font-size: 8pt;" type="reset"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
  <input type="submit" name="submit">
  </form>

Código:
//obrigado.html

<html>
<body>
<h1>Obrigado pela sua inscrição! Aguarde um contacto da nossa parte.</h1>
</body>
</html>

Agradeço toda a ajuda que me possam disponibilizar :)
 
PHP e tal, gravado com a extensão CGI, provavelmente é isto que estou a fazer mal...
pois... isso não é PHP, é Perl. Não te esqueças das permissões (755).
Não te falta uma linha no início do ficheiro? qualquer coisa como:
Código:
#!/usr/bin/perl

Parece-me que é preferível fazeres o envio do email pelo PHP. Porque raio é que te estás a enrolar com o Perl? Ou fazes tudo com Perl ou fazes tudo com PHP. Usares duas linguagens diferentes para fazer uma coisa tão trivial como enviar e-mails - que qualquer uma das duas faz de forma eficiente - é que me parece complicação a mais.
 
Última edição:
pois... isso não é PHP, é Perl. Não te esqueças das permissões (755).
Não te falta uma linha no início do ficheiro? qualquer coisa como:
Código:
#!/usr/bin/perl
Parece-me que é preferível fazeres o envio do email pelo PHP. Porque raio é que te estás a enrolar com o Perl? Ou fazes tudo com Perl ou fazes tudo com PHP. Usares duas linguagens diferentes para fazer uma coisa tão trivial como enviar e-mails - que qualquer uma das duas faz de forma eficiente - é que me parece complicação a mais.

Eu também preferia o PHP, mas não encontrei nenhum tutorial para enviar os dados do form para o mail. Só em Perl mesmo. Sabes onde posso encontrar um tutorial para fazer isto em PHP? Obrigado :)
 

Mas esses tutoriais, se os interpretei bem, explicam como enviar e-mails com texto e/ou código HTML + anexos.
Não explicam como enviar todos os dados que o utilizador digita no form de uma vez.
Eu cheguei àquele tutorial em Perl porque as keywords que utilizei no Google foram "mail+form+php", na tentativa de encontrar um tutorial mais simples e eficaz, mas não está fácil lol
 
Última edição:
Também já fiz em python :P Agora em php estou MUITISSIMO destreinado, por isso vai uma ajuda para procurares coisas

Em php (a imprimir na página. Para fazer um mail é preciso manipular strings):

foreach ($HTTP_POST_VARS as $chave => $valor)
echo " $chave => $valor \n";
 
Back
Topo