Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Configuración para envío de correos Responder al tema
Nuevo tema


Página 1 de 1  [ 12 mensajes ] 
 
Nota 2008-08-26 14:24 @641

Perlero Nuevo
Registrado: 2008-05-22 12:00 @541
Mensajes: 77
Configuración para envío de correos
¡Buenas tardes!

Tengo un problema para mi, complicado :cry: , espero que me ayuden :oops:

Hay un programa que tengo pare enviar correos que está como sigue:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
#!/usr/bin/perl

 use Mail::Sendmail;

$mail{'To'} = <!-- e --><a href="mailto:'luisfuentes11@hotmail.com">'luisfuentes11@hotmail.com</a><!-- e -->';
$mail{'Smtp'} = '192.168.1.11';
$mail{'From'} = <!-- e --><a href="mailto:'atencion.tramites@leon.gob.mx">'atencion.tramites@leon.gob.mx</a><!-- e -->';
$mail{'Subject'} = "Envio Perl";
$mail{'body'} = "Prueba desde Script Perl";
if (!sendmail(%mail)) {
    print "Error : $Mail::Sendmail::error\n";
    exit 0;
}
print "Correo enviado\n";


¡¡ Me sale el siguiente error !!

Código:
Error : RCPT TO: error (550 5.7.1 Unable to relay for luisfuentes11@hotmail.com)


Tenemos un servidor smtp exchange (192.168.1.11) el cual me obstaculiza a poder enviar el correo, ¿será porque no soy cliente de Microsoft? por seguridad, etc !! eso no lo sé!!

Mi pregunta es esta: ¿¿¿no hay manera de que mi servidor sin ayuda de ese servidor exchange, pueda enviar correo a servidores como (hotmail,gmail,yahoo) etc, ???

Me han mencionado algo del evolution, vi que ese me habla del Ubuntu, ese es otra versión de Linux !? La verdad no sé mucho de esto, ¡¡ mi Linux está configurado con CentOS 5, !!

Gracias, espero su respuesta, ¡¡ please !!


Nota 2008-08-26 15:57 @706
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
No te deja enviar correo porque seguro que tienes que autenticarte en el servidor.

Yo usaría el Mail::Sender, pues tienes facilidades para hacerlo. En estos foros hay algunos ejemplos con Mail::Sender.

_________________
JF^D Perl programming


Nota 2008-08-27 11:01 @501

Perlero Nuevo
Registrado: 2008-05-22 12:00 @541
Mensajes: 77
Ya chequé lo del Mail::Sender.

Ejecuto el siguiente archivo, ¡¡ pero me vota un error !!

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
#!/usr/bin/perl

use Mail::Sender;

my $sender = Mail::Sender->new();

if ($sender->MailMsg({
                         smtp => 'leonex.leonad.gob.mx',
                         from => <!-- e --><a href="mailto:'atencion.tramites@leon.gob.mx">'atencion.tramites@leon.gob.mx</a><!-- e -->',
                         to =>'piero66@hotmail.com',
                         subject => 'this is a test',
                         msg => "Hi Johnie.\nHow are you?.....",
                         auth => 'NTLM',
                         authid => 'root',
                         authpwd => 'asdf1234',
                     }) < 0) {
                         die "$Mail::Sender::Error\n";
                     }
print "Mail sent OK."


El error que me vota es el siguiente:

Código:
Can't locate Authen/NTLM.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 4) line 1, <GEN0> line 19.
BEGIN failed--compilation aborted at (eval 4) line 1, <GEN0> line 19.


¿¿¿ Tengo que instalar alguna librería NTLM.pm ???

Porque ejecuté este código
Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
use Mail::Sender;
 my $sender = new Mail::Sender {smtp => 'localhost'};
 die "Error: $Mail::Sender::Error\n" unless ref $sender;
 print join(', ', $sender->QueryAuthProtocols()),"\n";


y él indicó lo siguiente:

NTLM,GSSAPI,LOGIN

Si utilizo auth => 'GSSAPI', el error es:
Código:
Authentication protocol GSSAPI is not implemented by Mail::Sender


Si utilizo: auth => 'LOGIN' el error es:
Código:
login not accepted


¡¡¡ Espero no te haya dormido con tanto rollo !!!

¡ Gracias !


Nota 2008-08-27 11:30 @520
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
El error dice que no encuentra el módulo Authen::NTLM. Prueba a instalarlo.

_________________
JF^D Perl programming


Nota 2008-08-29 15:11 @674

Perlero Nuevo
Registrado: 2008-05-22 12:00 @541
Mensajes: 77
¿Se instala así... cpan Authen::NTLM.pm?


Nota 2008-08-29 15:19 @680
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
No. Con cpan Authen::NTLM.

_________________
JF^D Perl programming


Nota 2008-08-29 15:25 @684

Perlero Nuevo
Registrado: 2008-05-22 12:00 @541
Mensajes: 77
Oye, ya lo instalé, corrí el programa pero ahora el mensaje es este:

Código:
Authentication protocol NTLH is not accepted by the server


Nota 2008-08-29 15:55 @705
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Jajaja...

Pues entonces, antes deberás preguntar al administrador del sistema qué sistemas de autenticación dispones.

_________________
JF^D Perl programming


Nota 2008-09-01 08:41 @404

Perlero Nuevo
Registrado: 2008-05-22 12:00 @541
Mensajes: 77
ok, gracias !!,, porque la risa,, me vi muy guey con la pregunta !! jajaja

la verdad sí ,,,!!! :lol:

una última pregunta ,,

Código:
authid =>
authpwd =>


estos dos parámetros se refiere a una cuenta del servidor de Linux, para que la reconozca el servidor de Exchange !!?? ¡¡digo solo para corroborar!!
jajaja :oops:


Nota 2008-09-01 08:51 @410
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Ahí se guarda el usuario y contraseña que se entrega al servidor de correo, cuando lo pide.

_________________
JF^D Perl programming


Nota 2008-09-01 09:39 @443

Perlero Nuevo
Registrado: 2008-05-22 12:00 @541
Mensajes: 77
Oye, me comentan que el protocolo es MAPI... Según esto !??, ¿qué debo hacer en eso caso? Por que según si mal no entendí yo solo tengo en mi servidor estos tres
Código:
GSSAPI
LOGIN
NTHL


Eso me lo dijo esta instrucción:
Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
 print join(', ', $sender->QueryAuthProtocols()),"\n";


Nota 2008-09-01 12:03 @543
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
A ver... son cosas distintas, y no tienen nada que ver... creo yo...

Una cosa es el protocolo MAPI, que no es estándar. Es propio de Micro$oft.

Las tres opciones que muestras con QueryAuthProtocols(), son las 3 posibles formas de autenticarte en el servidor $sender al que te conectas.

Así que, entonces, yo creo que me estás hablando de dos servidores o de un servidor que tiene los dos protocolos.

En CPAN no hay nada para controlar el protocolo MAPI excepto el módulo Mail::Outlook, así que desde tu Linux, lo tienes difícil para hablarle a esa pasarela.

Lo que te interesa es poder enviar correo de forma directa a través de la red local hacia el exterior, pero al tener tu máquina, seguramente, una dirección local, la mayoría de los servidores de correo desecharán tu solicitud. Debes entonces usar un servidor intermediario. Mira a ver si desde tu máquina te responde, por ejemplo, el servidor de Gmail (hazle un ping, o mejor, pregúntale los sistemas de autenticación disponibles, como indica la sección Authentication de Mail::Sender). A mí me sale
Código:
gmail.com.              2544    IN      MX      50 gsmtp147.google.com.
gmail.com.              2544    IN      MX      50 gsmtp183.google.com.
gmail.com.              2544    IN      MX      5 gmail-smtp-in.l.google.com.
gmail.com.              2544    IN      MX      10 alt1.gmail-smtp-in.l.google.com.
gmail.com.              2544    IN      MX      10 alt2.gmail-smtp-in.l.google.com.

También funcionará un simple telnet a una de estas máquinas, al puerto 25.

Si no puedes hacerlo, tienes que mirar si existe algún cortafuegos, tanto en tu equipo como en el enrutador de salida hacia Internet.

Recuerda un punto importante: no necesitas autenticarte si eres capaz de conectarte directamente al servidor de correo del destinatario. Sí que necesitas hacerlo si la carta quieres que sea redirigida a otra parte, a otro usuario o dirección que no está en el servidor de correo.

_________________
JF^D Perl programming


Responder al tema  [ 12 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO