Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Avanzado » Problemas al enviar mail con Perl Responder al tema
Nuevo tema


Página 1 de 2  [ 23 mensajes ]  Ir a página 1, 2  Siguiente
 
Nota 2006-01-03 09:21 @431

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
Problemas al enviar mail con Perl
Hola, estoy intentando enviar mails en un script hecho con Perl y no hay manera. Lo he intentado de dos formas:
- Como se indica en un tutorial del web, usando el comando sendmail.
- Usando un modulo del cpan llamado Mail::Sendmail

En los dos casos, para probar que funciona, he copiado integramente los ejemplos y no hay manera, y la duda que tengo es si es que em falta configurar algo del sistema, el servidor stmp o algo asi.

Gracias :P


Nota 2006-01-03 10:50 @493
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
Tanto uno como otro requieren que esté instalado el programa sendmail. ¿Lo está? ¿Te da algún error a la hora de ejecutar el programa?


Nota 2006-01-03 12:01 @542

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
Si, el programa sendmail está instalado. Vamos que hago 'which sendmail' y aparece.

Y el programa no da ningun error, se ponen los mails en la cola pero no se llegan a enviar


Nota 2006-01-03 12:17 @553
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
Si los mensajes se ponen en cola, es que el programa en Perl funciona.
Haz un 'mailq' para saber la razón por la cuál están en cola.
Ten en cuenta que hay ocasiones en las que un mensaje no sale inmediatamente. Depende de cómo esté configurado el servidor de correo. En algunas instalaciones se 'lee y limpia' la cola de mensajes cada diez minutos.
Supongo que habrás probado a enviar el mensaje directamente desde la línea de comandos para probar que funciona:
Código:
mail -s "Prueba de envio" destinatario@sudominio.com < /dev/null


Nota 2006-01-03 12:18 @554

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
Diria que ese es el problema, lo del servidor de correo, porque yo no he configurado nada de nada...


Nota 2006-01-03 14:11 @632
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
Hay varios módulos para enviar correos. Uno de ellos es Mail::Internet. Con la función smtpsend podrás indicar el host que te servirá como servidor de correo, siempre y cuando no tengas antes que autenticarte en él...


Nota 2006-01-03 17:11 @757

Maestro Honorario
Registrado: 2004-11-03 21:11 @924
Mensajes: 272
Te recomiendo utilizar Email::Send junto con cualquiera de los módulos del espacio de nombres Email::*, los cuales cumplen rigurosamente con los RFCs necesarios para envío y recepción de correo así como una API sencilla de utilizar, son módulos que actualmente están mantenidos y actualizados.

Saludos,

_________________
Marco A. Manzo
amnesiac@unixmonkeys.com
http://www.unixmonkeys.com/amnesiac/


Nota 2006-01-03 18:32 @814

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
Creo que el problema es que no se cual es el servidor smtp. Yo quiero enviar un simple mail, pero no tengo host ni nada de nada...


Nota 2006-01-03 19:02 @834

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
El mail no se llega a enviar, se queda en la cola así:

Código:
EC1F923C37      488 Wed Jan  4 00:46:00  me@here.com
                  (connect to relay.upc.es[147.83.2.51]: Connection timed out)
                                         e6973372@est.fib.upc.edu


Nota 2006-01-03 21:37 @942
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Hola:

Dentro del sitio hay un tutorial que te podría servir:
http://perlenespanol.baboonsoftware.com ... 00024.html


SALUDOS

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2006-01-04 07:54 @370
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
reggiebcn escribió:
El mail no se llega a enviar, se keda en la cola asi:

EC1F923C37 488 Wed Jan 4 00:46:00 me@here.com
(connect to relay.upc.es[147.83.2.51]: Connection timed out)
e6973372@est.fib.upc.edu

A ver... el mensaje dice que ha ocurrido un timeout en la conexión con el servidor... puede ser porque ese servidor no responda o que esté esperando la autenticación para poder enviar.
¿Has conseguido alguna vez enviar correo desde esa máquina? Si no es así, primero tienes que averiguar cuál es tu servidor de correo más cercano que puedas utilizar -tener una cuenta de correo en él-.
Luego, podrás usar el módulo Email::Send para enviarle.
Para enviar un correo sólo necesitas saber 3 detalles: nombre del servidor de correo, nombre del usuario con el que te vas a identificar en él y la contraseña de ese usuario.
Código:
use Email::Send;

my $message = <<'__MESSAGE__';
From: me@here.com
To: e6973372@est.fib.upc.edu
Subject: Nuevo boletin
 
Hay un nuevo boletín
__MESSAGE__

my $mailer = Email::Send->new(
  {
    mailer => 'SMTP',
    mailer_args =>
    [
      Host      => 'relay.upc.es',
      username => 'regglebcn',
      password => 'sdfhc334',
    ]
  }
);
$mailer->send($message);
Si el servidor de correo que vas a usar no necesita autenticación, más fácil todavía, porque no necesitas indicar username y password.


Nota 2006-01-04 08:53 @412

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
Vale, entiendo lo que me dices.
Lo que pasa que yo no quiero usar un servidor externo, vease el de fib.upc.es o el de hotmail o cual sea, o si es externo, que no precise de autentificacion. Asi que lo que me gustaria es tener un servidor local de correo, se puede no?


Nota 2006-01-04 11:50 @535
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
Si, siempre que tengas acceso a internet, es facil tener tu propio servidor de correo. Sólo necesitas instalarte uno. Puede ser el sendmail, el qmail, postfix, u otros.


Nota 2006-01-04 13:30 @604

Perlero Nuevo
Registrado: 2005-10-27 11:53 @537
Mensajes: 14
Vale, así que he de instalarme por ejemplo Postfix... En mi Ubuntu viene por defecto, pero no sé configurarlo, la verdad.

Y el programa sendmail que está incluido en la distro, ¿es el mismo que el Sendmail que se puede usar como servidor de correo? (por lo que he leído buscando por Google, muy difícil de configurar).


Nota 2008-06-06 17:56 @789
Avatar de Usuario
Perlero Adicto
Registrado: 2007-07-10 18:26 @810
Ubicación: MOnterrey NL
Mensajes: 244
Yo tengo una duda sobre el programa que planteas,
Trabajo bajo Ubuntu, pero mi correo es Evolution que se basa en Exchange, pero ejecuto el programa y no aparece nada...

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
use Email::Send;

my $message = <<'__MESSAGE__';
From: <!-- e --><a href="mailto:g@hotmail.com">g@hotmail.com</a><!-- e -->
To: <!-- e --><a href="mailto:g@hotmail.com">g@hotmail.com</a><!-- e -->
Subject: Nuevo boletin
 
Hay un nuevo boletín
__MESSAGE__

my $mailer = Email::Send->new(
  {
    mailer => 'SMTP',
    mailer_args =>
    [
      Host      => 'https://correoweb.local.com.mx/exchange/',
      username => 'usuario',
      password => 'pasword',
    ]
  }
);
$mailer->send($message);


Mencionas
Citar:
Para enviar un correo sólo necesitas saber 3 detalles: nombre del servidor de correo, nombre del usuario con el que te vas a identificar en él y la contraseña de ese usuario.


Supongo que te refieres a mi servidor de correo en este caso Exchange, ¿usuario y pasword? ¿y esa parte de SMTP que utilizan otros programas? ¿a qué se refiere, no logro entender eso?

Aquí la pregunta sería ¿cómo puedo saber la IP de mi servidor de correo electrónico?

_________________
Nunca interrumpas a tu enemigo cuando está cometiendo un error
Napoleón Bonaparte


Responder al tema  [ 23 mensajes ]  Ir a página 1, 2  Siguiente

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