[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: Off-topic: CGI



> > 	Para alguien con experiencia programando CGI's en Perl:
> > 
> > 	¿Cómo le hago para mandar un correo electrónico a través de un
> > CGI?
> 
> CGI programado en qué?
> 
> Saludos
> 
> Salvador Ortiz
> 

En perl, creo.
Va un cacho de código:

#!/usr/bin/perl

print "Content-type:text/html\n\n";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

@pairs = split(/&/, $buffer);
foreach $pair (@pairs)  {
        ($name, $value) = split(/=/, $pair);
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $FORM{$name} = $value;
}

$mailprog = '/usr/sbin/sendmail';
$recipient = 'kaos@localhost';

if ($FORM{'name'} eq "" or $FORM{'email'} eq "" or $FORM{'compania'} eq ""
or $FORM{'telefono'} eq "" or
 $FORM{'comentarios'} eq "") {
    print "<p>Favor de llenar todos los campos";
&dienice("Por favor llena todos los campos.");
}

open (MAIL, "|$mailprog -t") or &dienice("Can't access $mailprog!\n");


#print "<HTML><HEAD><TITLE>Form Output</TITLE></HEAD><BODY>";
#print "<H2>Resultados del MAIL</H2>\n";

print MAIL "To: $recipient\n";
print MAIL "Reply-to: $FORM{'email'} ($FORM{'name'})\n";
print MAIL "Subject: Form Data\n\n";

foreach $key (keys(%FORM)){
    print MAIL "$key = $FORM{$key}\n";
}

close (MAIL);  




Busca tutoriales en la red.

Omar



[Hilos de Discusión] [Fecha] [Tema] [Autor]