• Publicidad

Enviar correo por Perl y me da problemas

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Enviar correo por Perl y me da problemas

Notapor marcoamoncada » 2011-07-20 15:04 @670

Primeramente he creado este elemento:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3.  use strict;
  4.  use warnings;
  5.  use MIME::Lite::TT::HTML;
  6.  
  7.  my %params;
  8.  
  9.  $params{first_name} = 'Frank';
  10.  $params{last_name}  = 'Wiles';
  11.  $params{amt_due}    = '24.99';
  12.  
  13.  my %options;
  14.  $options{INCLUDE_PATH} = '/path/to/templates';
  15.  
  16.  my $msg = MIME::Lite::TT::HTML->new(
  17.             From        =>  '[email protected]',
  18.             To          =>  '[email protected]',
  19.             Subject     =>  'Your recent purchase',
  20.             Template    =>  {
  21.                                 text    =>  'test.txt.tt',
  22.                                 html    =>  'test.html.tt',
  23.                             },
  24.             TmplOptions =>  \%options,
  25.             TmplParams  =>  \%params,
  26.  );
  27.  
  28.  $msg->send;
  29.  
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4


Sintáxis: (text.txt.tt) [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
 
 Hi [% first_name %],

 This is to confirm your purchase of $ [% amt_due %].

 Thank you!
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Sintáxis: (tetx.html.tt) [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1.  <html>
  2.  <body>
  3.  
  4.  <strong>Hi [% first_name %]</strong>,
  5.  
  6.  <p>
  7.  This is to confirm your purchase of $ [% amt_due %].
  8.  </p>
  9.  
  10.  <p>
  11.  Thank you!
  12.  </p>
  13.  </body>
  14.  </html>
  15.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Ejecuto estos comando:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
mrco1965@Local54:~$ perl Php/Prueba/perl/Prueba-14.pl
Can't locate MIME/Lite/TT/HTML.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at Php/Prueba/perl/Prueba-14.pl line 5.
BEGIN failed--compilation aborted at Php/Prueba/perl/Prueba-14.pl line 5.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


En el archivo está la salida, ¿por qué no logro instalar?

Gracias

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Script iniciado (mié 20 jul 2011 14:23:55 CDT
mrco1965@Local54:~$ sudo cpan MIME::Lite::TT::HTML
[sudo] password for mrco1965:
CPAN: Storable loaded ok (v2.20)
Going to read '/home/mrco1965/.cpan/Metadata'
  Database was generated on Wed, 20 Jul 2011 18:29:09 GMT
Running install for module 'MIME::Lite::TT::HTML'
Running make for C/CH/CHUNZI/MIME-Lite-TT-HTML-0.04.tar.gz
CPAN: Digest::SHA loaded ok (v5.47)
CPAN: Compress::Zlib loaded ok (v2.02)
Checksum for /home/mrco1965/.cpan/sources/authors/id/C/CH/CHUNZI/MIME-Lite-TT-HTML-0.04.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.52)
[...]
Module::Build version 0.3601 required--this is only version 0.340201 at Build.PL line 5.
[...]
Script terminado (mié 20 jul 2011 14:25:31 CDT
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
marcoamoncada
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2011-06-06 22:41 @986

Publicidad

Re: Enviar correo por Perl y me da problemas

Notapor explorer » 2011-07-20 15:24 @683

Hay una línea que pone

Module::Build version 0.3601 required--this is only version 0.340201 at Build.PL line 5.

queriendo decir que ese módulo es más viejo del que el módulo a instalar requiere. Deberás instalar una versión más moderna de Module::Build.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Enviar correo por Perl y me da problemas

Notapor marcoamoncada » 2011-07-20 16:20 @722

Probé con este otro script, sí funciona pero aun no recibo nada.

#!/usr/bin/perl -w

use Mail::Send;

$msg = Mail::Send->new;
$msg = Mail::Send->new(Subject => 'example', To => 'timbo');

# $msg->to('user@host');
$msg->to('[email protected]');
$msg->subject('example subject');
# $msg->cc('user@host');
# $msg->bcc('someone@else');

# $msg->set($header, @values);
# $msg->add($header, @values);
# $msg->delete($header);

# Launch mailer and set headers. The filehandle returned
# by open() is an instance of the Mail::Mailer class.
# Arguments to the open() method are passed to the Mail::Mailer
# constructor.

$fh = $msg->open; # some default mailer
$fh = $msg->open('sendmail'); # explicit
print $fh "Body of message";
$fh->close # complete the message and send it
or die "couldn't send whole message: $!\n";

¿Qué me estará faltando?
marcoamoncada
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2011-06-06 22:41 @986

Re: Enviar correo por Perl y me da problemas

Notapor explorer » 2011-07-20 16:29 @728

Tienes repetida la llamada a open(). Debes elegir una de ellas, indicando (o no) el sistema de transporte del correo.

En Mail::Mailer hay un listado de posibles transportes. El que pones en la segunda línea ('sendmail') quiere decir que se usará el programa 'sendmail' del sistema. ¿Tienes un tu sistema un 'sendmail'?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Enviar correo por Perl y me da problemas

Notapor marcoamoncada » 2011-07-20 16:56 @747

Mira, tengo Linux Ubuntu 10.04, tengo instalado sendmail.
marcoamoncada
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2011-06-06 22:41 @986

Re: Enviar correo por Perl y me da problemas

Notapor pvaldes » 2011-07-23 18:14 @801

compruébalo, igual te llevas una sorpresa

Sintáxis: [ Descargar ] [ Ocultar ]
  1. dpkg -s sendmail 
pvaldes
Perlero nuevo
Perlero nuevo
 
Mensajes: 129
Registrado: 2011-01-22 12:56 @580

Re: Enviar correo por Perl y me da problemas

Notapor marcoamoncada » 2011-07-28 00:58 @082

He seguido muchas páginas, y no logro mandar correos desde la línea de comandos.

http://www.marksanborn.net/linux/send-mail-postfix-through-gmails-smtp-on-a-ubuntu-lts-server/
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
  1. mrco1965@Local54:~$ cat /var/log/mail.log | tailJul 28 00:28:50 Local54 postfix/cleanup[5393]: 1600DA67E6: message-id=<[email protected]>
  2. Jul 28 00:28:50 Local54 postfix/bounce[5392]: BFA4BA67E4: sender delivery status notification: 1600DA67E6
  3. Jul 28 00:28:50 Local54 postfix/qmgr[5354]: BFA4BA67E4: removed
  4. Jul 28 00:28:50 Local54 postfix/qmgr[5354]: 1600DA67E6: from=<>, size=2041, nrcpt=1 (queue active)
  5. Jul 28 00:28:50 Local54 postfix/local[5396]: 1600DA67E6: to=<mrco1965@Local54>, relay=local, delay=0.15, delays=0.06/0.01/0/0.08, dsn=5.3.0, status=bounced (Command died with status 127: "procmail -a "$EXTENSION"". Command output: sh: procmail: not found )
  6. Jul 28 00:28:50 Local54 postfix/qmgr[5354]: 1600DA67E6: removed
  7. Jul 28 00:29:30 Local54 postfix/pickup[5353]: EE5F9A67E4: uid=1000 from=<mrco1965>
  8. Jul 28 00:29:30 Local54 postfix/cleanup[5393]: EE5F9A67E4: message-id=<[email protected]>
  9. Jul 28 00:29:31 Local54 postfix/qmgr[5354]: EE5F9A67E4: from=<mrco1965@Local54>, size=293, nrcpt=1 (queue active)
  10. Jul 28 00:29:31 Local54 postfix/smtp[5362]: EE5F9A67E4: to=<[email protected]>, relay=smtp.gmail.com[74.125.159.109]:587, delay=0.51, delays=0.1/0/0.32/0.09, dsn=5.7.0, status=undeliverable (host smtp.gmail.com[74.125.159.109] said: 530 5.7.0 Must issue a STARTTLS command first. z28sm589031yhn.35 (in reply to MAIL FROM command))
  11. mrco1965@Local54:~$ sendmail -bv [email protected]
  12. Mail Delivery Status Report will be mailed to <mrco1965>.
  13.  
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Aquí me dice que instale postfix y aun no funciona.

Tu me dices que instalé sendmail, y no funciona. ¿Qué me estará pasando?

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
  1. mrco1965@Local54:~$ sudo dpkg -s sendmail
  2. Package: sendmail
  3. Status: install ok installed
  4. Priority: extra
  5. Section: mail
  6. Installed-Size: 252
  7. Maintainer: Ubuntu Developers <[email protected]>
  8. Architecture: all
  9. Version: 8.14.3-9.1ubuntu1
  10. Replaces: sendmail-tls
  11. Depends: sendmail-base, sendmail-bin, sendmail-cf, sensible-mda
  12. Suggests: sendmail-doc, rmail
  13. Description: powerful, efficient, and scalable Mail Transport Agent
  14.  Sendmail is an alternative Mail Transport Agent (MTA) for Debian.
  15.  It is suitable for handling sophisticated mail configurations,
  16.  although this means that its configuration can also be complex.
  17.  .
  18.  Fortunately, simple thing can be done easily, and complex things
  19.  are possible, even if not easily understood ;)  Sendmail is the *ONLY*
  20.  MTA with a Turing complete language to control *ALL* aspects of delivery!
  21.  .
  22.  Sendmail provides Security and SPAM/UCE/UBE protection via several means.
  23.  .
  24.  Sendmail includes *no* Mail User Agents (MUA), you'll have to
  25.  pick from the plethora of available MUAs (mutt, vm, etc.)
  26.  .
  27.  This package supports REGEX, DB, NIS, NIS+, LDAP, DNS maps,
  28.  and has enabled TCPWrappers, IPv6, LockFile, SMTP AUTH(SASL), STARTTLS(SSL).
  29.  .
  30.  This package is to make installation/upgrading easier (Do NOT delete it)
  31. Original-Maintainer: Richard A Nelson (Rick) <[email protected]>
  32. Homepage: http://www.sendmail.org
  33.  
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
  1. mrco1965@Local54:~$ cat /var/log/mail.log | tail
  2. Jul 28 00:36:19 Local54 sm-msp-queue[6617]: unable to qualify my own domain name (Local54) -- using short name
  3. Jul 28 00:36:32 Local54 sendmail[6638]: My unqualified host name (Local54) unknown; sleeping for retry
  4. Jul 28 00:37:29 Local54 sendmail[6639]: My unqualified host name (Local54) unknown; sleeping for retry
  5. Jul 28 00:38:29 Local54 sendmail[6639]: unable to qualify my own domain name (Local54) -- using short name
  6. Jul 28 00:38:29 Local54 sendmail[6639]: p6S5cTYn006639: from=mrco1965, size=69, class=0, nrcpts=0, msgid=<201107280538.p6S5cTYn006639@Local54>, relay=mrco1965@localhost
  7. Jul 28 00:38:48 Local54 sendmail[6643]: My unqualified host name (Local54) unknown; sleeping for retry
  8. Jul 28 00:39:48 Local54 sendmail[6643]: unable to qualify my own domain name (Local54) -- using short name
  9. Jul 28 00:39:48 Local54 sendmail[6643]: p6S5dmQ9006643: from=mrco1965, size=87, class=0, nrcpts=0, msgid=<201107280539.p6S5dmQ9006643@Local54>, relay=mrco1965@localhost
  10. Jul 28 00:40:01 Local54 sm-msp-queue[6672]: My unqualified host name (Local54) unknown; sleeping for retry
  11. Jul 28 00:41:01 Local54 sm-msp-queue[6672]: unable to qualify my own domain name (Local54) -- using short name
  12.  
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Tuve que reinstalar sendmap, o postfix. que estará faltando.

Gracias por tu tiempo.

Veo que algo me dice del nombre de la computadora, pero tecleo procmail -a "Local54" y se quedó pasmada.

Me puedes ayudar.
marcoamoncada
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2011-06-06 22:41 @986

Re: Enviar correo por Perl y me da problemas

Notapor explorer » 2011-07-28 13:54 @621

El programa procmail es un agente de reparto de correo, pero del correo local. Es llamado desde el servidor de correo, como último paso antes de guardar el correo en el buzón del usuario.

Mirando los mensajes de error:
  • (Command died with status 127: "procmail -a "$EXTENSION"". Command output: sh: procmail: not found ) El programa procmail no está instalado. Si no vas a hacer uso de él, podrías configurar el servidor de correo para que no use procmail
  • (host smtp.gmail.com[74.125.159.109] said: 530 5.7.0 Must issue a STARTTLS command first. z28sm589031yhn.35 (in reply to MAIL FROM command)) El servidor de correo que está escuchando en smtp.gmail.com dice que debes iniciar un diálogo STARTTLS antes de empezar a enviar el correo. En cristiano: que debes autenticarte con nombre de usuario y contraseña de gmail.com. Depende del módulo Perl que estés usando, la forma en que podrás autenticarte
  • En los sistemas actuales suele venir instalado Postfix en lugar de sendmail, porque es más rápido y fácil de configurar. Es un error tener instalados los dos a la vez. O uno u otro.
  • unable to qualify my own domain name (Local54) has intentado enviar un correo a la máquina Local54, pero el sistema ha intentado averiguar la IP de esa máquina, y no lo ha conseguido (no está definido en el servicio DNS o en el fichero /etc/hosts)
No uses el procmail de forma directa. Es un programa (magnífico) para hacer filtrado de correo, pero no para el transporte del correo. En la línea de comandos yo suelo usar el comando mail:

mail -s "Este es un correo de prueba" [email protected] < fichero_mensaje.txt

Lo que hace es conectarse con el servidor de transporte de correo local (el Postfix, por ejemplo), para que se encargue de enviarlo fuera, dialogando con el servidor de correo del destinatario.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Enviar correo por Perl y me da problemas

Notapor marcoamoncada » 2011-07-29 14:04 @628

Sé que no pueden estar juntos, de hecho cada vez que instalo sendmail, me dice que desinstalará postfix, o viceversa.

Yo no instalé procmail, de hecho la configuración ni siquiera lo menciona.

Con el comando que has mencionado para enviar correos desde la terminal, si instalo sendmail se pasma. y no hace nada.

Solo con postfix trabaja, llega más allá, porque de hecho los mensaje están en la cola de espera, para ser enviados.

Lo veo con sudo mailq
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
postqueue: warning: Mail system is down -- accessing queue directly
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
E7B7FA3358     1387 Fri Jul 29 17:42:05  mrco1965
                                         [email protected]

6395EA334F     1363 Fri Jul 29 17:34:34  mrco1965
                                         mrco1965@Local54

4A758A3351     1387 Fri Jul 29 17:34:57  mrco1965
                                         [email protected]

71193A3349     1371 Fri Jul 29 17:03:44  mrco1965
                                         [email protected]

C1499A32FD      297 Fri Jul 29 18:45:28  test
                                         root

773CCA335A      486 Fri Jul 29 17:45:13  mrco1965
                                         mrco1965

53830A32F5      503 Fri Jul 29 18:45:03  mrco1965
                                         mrco1965

AE86EA334D     1363 Fri Jul 29 17:28:49  mrco1965
                                         mrco1965@Local54

2DA8DA335C     1363 Fri Jul 29 17:57:24  mrco1965
                                         mrco1965@Local54

ABECBA3355     1363 Fri Jul 29 17:41:14  mrco1965
                                         mrco1965@Local54

8EEC6A32F7      486 Fri Jul 29 18:45:13  mrco1965
                                         mrco1965

E73C4A3347     1371 Fri Jul 29 17:03:07  mrco1965
                                         [email protected]

AB430A32EF      395 Fri Jul 29 18:43:05  root
                                         [email protected]

B490FA1967      399 Fri Jul 29 18:40:32  root
                                         [email protected]

EF188A3353     1363 Fri Jul 29 17:35:42  mrco1965
                                         mrco1965@Local54

118FDA3341     1362 Fri Jul 29 18:01:40  mrco1965
                                         mrco1965@Local54

391F7A32ED*    1539 Fri Jul 29 16:56:49  mrco1965@Local54

-- 17 Kbytes in 17 Requests.
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


En alguna página me dice que para liberarlos y que sean enviados teclee sudo /usr/sbin/sendmail -q

Este comando me contesta
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
postqueue: fatal: Cannot flush mail queue - mail system is down
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Ya busqué por Internet, y no hallo la respuesta de lo que le estará faltando.

Yo creo que ya es más fácil, que me puedas guiar.

Gracias
marcoamoncada
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2011-06-06 22:41 @986

Re: Enviar correo por Perl y me da problemas

Notapor explorer » 2011-07-29 14:34 @648

marcoamoncada escribiste:Este comando me contesta
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
postqueue: fatal: Cannot flush mail queue - mail system is down
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Ya busqué por Internet, y no hallo la respuesta de lo que le estará faltando.
¿Cómo que no hay respuestas?

Lo que te está diciendo es que el sistema de correo no está funcionando. Debes arrancarlo.

Te recomiendo que mires en algún foro de Linux o del sistema operativo que estés usando. Y visitar la página de Postfix tampoco estaría mal.

Seguramente, en tu sistema hay un panel de control que te permita configurar los servicios del computador. Tienes que buscar el Postfix o servicio de correo, y decirle que lo arranque cuando lo arranque la máquina.

Hay otras soluciones... consiste en enviar los correos usando algún módulo que permita definir el transporte por medio del protocolo SMTP, y usar el servidor de correo de nuestro proveedor de acceso a Internet, para que sea él el que lo envíe. Además, muchos sitios filtran los correos que salen de los ordenadores de los usuarios, así que es difícil enviar correos desde casa (o la empresa).

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

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron