• Publicidad

Cambiar un CGI de Linux para Windows

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Notapor explorer » 2006-07-11 16:47 @741

Lo he reducido a estas 100 líneas y me funciona...
Código: Seleccionar todo
#!/usr/bin/perl
use CGI qw':standard :cgi-lib';
use POSIX 'strftime';
use Mail::Sendmail;
use strict;

#### Configuracion
my $to      = '[email protected]'; #### Destinatario del correo
my $subject = 'MERCHANT ORDER';             #### E-MAIL asunto
my $smtp    = 'correo.tudominio.net';       #### Servidor de correo
#### Fin configuracion

#### Inicializacion
my %FORM;
$FORM{$_} = '' foreach qw(
    name email
    comments
    cardtype cardname cardnum cardexp
    bfirstname blastname bemail baddress bcity bstate bzip bphone bcomments
    sname saddress scity sstate szip
);

#### Programa
print header('header/html');                #### Cabecera
if ( $ENV{'REQUEST_METHOD'} ne 'POST' ) {
    print "error=wrong method";
    exit;
}

#### Leer los parámetros pasados por el cliente
%FORM = Vars();

#### Componer el mensaje
my $date = strftime "%a, %B %e, %Y a las %H:%M:%S", localtime;
my $mensaje = <<"MENSAJE";
---------------------------------------------------------------
   ORDER SUBMITTED BY:
   $FORM{name} on $date
---------------------------------------------------------------

MERCHANDISE ORDER
---------------------------------------------------------------

 $FORM{comments}

---------------------------------------------------------------
CARD INFORMATION
---------------------------------------------------------------
TYPE : $FORM{cardtype}
NAME ON CARD : $FORM{cardname}
CARD NUMBER : $FORM{cardnum}
CARD EXPIRATION : $FORM{cardexp}

---------------------------------------------------------------
BILLING INFO
---------------------------------------------------------------
FIRST NAME : $FORM{bfirstname}
LAST NAME : $FORM{blastname}
EMAIL : $FORM{bemail}
ADDRESS : $FORM{baddress}
CITY : $FORM{bcity}
STATE : $FORM{bstate}
ZIP : $FORM{bzip}
PHONE : $FORM{bphone}
COMMENTS : $FORM{bcomments}

---------------------------------------------------------------
SHIPPING INFO
---------------------------------------------------------------
NAME : $FORM{sname}
ADDRESS : $FORM{saddress}
CITY : $FORM{scity}
STATE : $FORM{sstate}
ZIP : $FORM{szip}

---------------------------------------------------------------

<REMOTE HOST>     $ENV{REMOTE_HOST}
<REMOTE ADDRESS>  $ENV{REMOTE_ADDR}
<USER AGENT>      $ENV{HTTP_USER_AGENT}
MENSAJE

#### Enviar el correo
my $from_name = "$FORM{name} <$FORM{email}>";
my %mail = (
    smtp        => $smtp,
    From        => $from_name,
    'Reply-To'  => $from_name,
    To          => $to,
    Subject     => $subject,
    Message     => $mensaje,
);
sendmail(%mail) or die $Mail::Sendmail::error;

#### Fin
print '&error=sent the email successfully';
exit;
El único problema para ti es que instalen el Mail::Sendmail, porque los otros dos, CGI y POSIX pertenecen al nucleo de Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor paniks » 2006-07-12 16:03 @710

Esta mañana me he encontrado con este script modificado ( gracias "explorer" por tu tiempo ), lo he mandado al sevidor junto com la peticion de instalacion del modulo que me recomendaste.
La respuesta del servidor ha sido que no funcionaria ya que utilizaba Sendmail, les he contestado que creia que no era lo mismo Sendmail que mail::Sendmail i que si podian aclararme el asunto.
De momento sigo esperando respuesta.
paniks
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2006-07-11 13:50 @618

Notapor explorer » 2006-07-12 16:14 @718

Pues no, no utiliza sendmail, sino que hace la conexión socket directamente.
Y si no quieren instalar el Mail::Sendmail, que prueben con este otro: MIME::Lite.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor paniks » 2006-07-12 16:50 @743

Eso es lo que hare.

nos vemos....
paniks
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2006-07-11 13:50 @618

Notapor paniks » 2006-07-13 04:25 @226

La respuesta definitiva que me han dado desde el servidor es que el unico modulo que tienen instalado es el AspMail.

Intentare pasar las variables con asp, a ver si lo consigo...

Gracias de nuevo
paniks
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2006-07-11 13:50 @618

Notapor explorer » 2006-07-13 04:39 @235

Cambia de servidor...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor paniks » 2006-07-13 09:24 @433

No está mal la propuesta...
pero por el momento es lo que hay...

si lo consigo, te mando la Url.

gracias de corazon
paniks
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2006-07-11 13:50 @618

Anterior

Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados