1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Mailform CGI

Discussão em 'Programação' iniciada por Godlike_Killer, 22 de Abril de 2008. (Respostas: 5; Visualizações: 834)

  1. Godlike_Killer

    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 :)
     
  2. slack_guy

    slack_guy Power Member

    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: 22 de Abril de 2008
  3. Godlike_Killer

    Godlike_Killer Power Member

    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 :)
     
  4. Godlike_Killer

    Godlike_Killer Power Member

    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: 22 de Abril de 2008
  5. madskaddie

    madskaddie Power Member

    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";
     

Partilhar esta Página