Mar Ago 26, 2008 1:24 pm
|
 |
piero66
Perlero Nuevo

|
Registrado: 22 May 2008
Mensajes: 34
|
|
| Configuración para envío de correos |
|
|
¡Buenas tardes!
Tengo un problema para mi, complicado , espero que me ayuden
Hay un programa que tengo pare enviar correos que está como sigue:
| Perl: | #!/usr/bin/perl
use Mail:: Sendmail;
$mail{'To'} = 'luisfuentes11@hotmail.com';
$mail{'Smtp'} = '192.168.1.11';
$mail{'From'} = 'atencion.tramites@leon.gob.mx';
$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 !!
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 !! |
|
|
|

Mar Ago 26, 2008 2:57 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
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. |
|

Mie Ago 27, 2008 10:01 am
|
 |
piero66
Perlero Nuevo

|
Registrado: 22 May 2008
Mensajes: 34
|
|
|
|
|
Ya chequé lo del Mail::Sender.
Ejecuto el siguiente archivo, ¡¡ pero me vota un error !!
| Perl: | #!/usr/bin/perl
use Mail:: Sender;
my $sender = Mail:: Sender-> new();
if ($sender-> MailMsg({
smtp => 'leonex.leonad.gob.mx',
from => 'atencion.tramites@leon.gob.mx',
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
| Perl: | 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 ! |
|

Mie Ago 27, 2008 10:30 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
| El error dice que no encuentra el módulo Authen::NTLM. Prueba a instalarlo. |
|
Vie Ago 29, 2008 2:11 pm
|
 |
piero66
Perlero Nuevo

|
Registrado: 22 May 2008
Mensajes: 34
|
|
|
|
|
| ¿Se instala así... cpan Authen::NTLM.pm? |
|
Vie Ago 29, 2008 2:19 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
| No. Con cpan Authen::NTLM. |
|
Vie Ago 29, 2008 2:25 pm
|
 |
piero66
Perlero Nuevo

|
Registrado: 22 May 2008
Mensajes: 34
|
|
|
|
|
Oye, ya lo instalé, corrí el programa pero ahora el mensaje es este:
| Código: |
| Authentication protocol NTLH is not accepted by the server |
|
|
Vie Ago 29, 2008 2:55 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
Jajaja...
Pues entonces, antes deberás preguntar al administrador del sistema qué sistemas de autenticación dispones. |
|
Lun Sep 01, 2008 7:41 am
|
 |
piero66
Perlero Nuevo

|
Registrado: 22 May 2008
Mensajes: 34
|
|
|
|
|
ok, gracias !!,, porque la risa,, me vi muy guey con la pregunta !! jajaja
la verdad sí ,,,!!!
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  |
|
Lun Sep 01, 2008 7:51 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
| Ahí se guarda el usuario y contraseña que se entrega al servidor de correo, cuando lo pide. |
|
Lun Sep 01, 2008 8:39 am
|
 |
piero66
Perlero Nuevo

|
Registrado: 22 May 2008
Mensajes: 34
|
|
|
|
|
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:
| Perl: | print join(', ', $sender-> QueryAuthProtocols()), "\n"; |
|
|

Lun Sep 01, 2008 11:03 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
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. |
|

Powered by phpBB © 2001, 2005 phpBB Group
|