Cita:
Iniciado por teamvipconnectz
Alguien me puede ayudar con este error.
Estoy utilizando este script para hacer envio de emails mediante un SMTP externo:
Código:
#!/usr/bin/perl
use lib('lib');
use CGI::Carp qw(fatalsToBrowser);
use MIME::Lite;
use Authen::SASL;
use strict;
my($user)='[email protected]';
my($pass)='mipass';
my($host)='00.00.00.000';
my $msg = MIME::Lite->new(
From =>'[email protected]',
To =>'[email protected]',
Subject =>'CGI email',
Data =>"FUNCIONA"
);
MIME::Lite->send('smtp', $host, AuthUser=>$user, AuthPass=>$pass);
$msg->send;
El script ya me funciono, el problema es que solo puede hacer el envio de 3 mails y despues me aparecio este error, y ya no funciono mas:
Código:
Unknown callback: 'authname'. (user|auth|language|pass)
Y no encuentro informacion sobre el tema en ninguna parte. AYUDA.
Y sí, Perl es un gran lenguage, lamentablemente muy pobre documentado y para debuguear un script se pueden perder semanas, por eso PHP, Ruby con Rail y Python lo estan comiendo vivo.
Veamos:
Código:
use strict;
use CGI::Carp qw(fatalsToBrowser);
use lib('./lib');
use MIME::Lite;
use Authen::SASL;
strict es un pragma que vuelve a perl más estricto de lo que ya es.
fataltobrowser, si bien es lindo como presenta los errores esta totalmente desaconsejado, desactualizado y es un buen lugar por donde empezar a escarbar.
lib supongo que tiene paquetes en un directorio arriba de la ejecución del script que se llama lib, si no es así eliminalos, igualmente MIME::Lite te conviene que esté instalado en el sistema.
Authen::SASL te pidio este módulo? si no eliminalo MIME y sus derivado lo debe tener si lo necesita.
Se qué lo eliminaste y dejaste un ejemplo pero siempre recuerda en el ip host poner 4 pares de 3 números para representar un IPV4 xq puede traerte errores en algunos casos por malos módulos.
Código:
my $msg = MIME::Lite->new(
Subject =>'CGI email',
Data =>"FUNCIONA"
);
Elimina esto:
Código:
MIME::Lite->send('smtp', $host, AuthUser=>$user, AuthPass=>$pass);
$msg->send;
Casí me infarte cuando ví la mezcla de array, string y hash pero despúes recorde el prototipado de perl... que sería de él sino.... un conjunto de errores..
Prueba con esto:
Y me cuantas como te fué, te comento que jamás utilicé MIME::Lite por lo que si no funciona no desesperes, leeremos la fuente, pero por lógica debería funcionar.
Espero q sirva.
Saludos