• Publicidad

Servidor de correo en Solaris 9

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Servidor de correo en Solaris 9

Notapor javierg » 2007-02-21 03:30 @188

Pongamos por ejemplo este código:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
#~.

# al menos no da ningun error
use Mail::Mailer;
eval {
  $m = Mail::Mailer->new("sendmail");
  $m->open( { From => 'micorreo',
              To   => 'micorreo',
              Subject => 'Como enviar e-mail desde Perl'
        } );
  print $m <<CUERPO
CPAN es tu amigo.
Perl es superior porque todo está en CPAN.
Resistirse es inútil.
CUERPO
;
  $m->close;
};
if ($@) {
  print "Error: $@\n";
   }
  else {
  print "Mensaje enviado.\n";
   }
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

cuando lo envío, no me llega ningún correo.
Si hago un mail en solaris 9, veo que

Código: Seleccionar todo
550 5.1.2 <micorreo>... Host unknown (Name server: mailhost: host not found)

--k16A1Afv000463.1139220070/na-msdevega.
Content-Type: message/delivery-status

Reporting-MTA: dns; na-msdevega.
Received-From-MTA: DNS; localhost
Arrival-Date: Mon, 6 Feb 2006 11:01:10 +0100 (CET)

Final-Recipient: RFC822; micorreo
Action: failed
Status: 5.1.2
Remote-MTA: DNS; mailhost
Last-Attempt-Date: Mon, 6 Feb 2006 11:01:10 +0100 (CET)

--k16A1Afv000463.1139220070/na-msdevega.
Content-Type: message/rfc822
Content-Transfer-Encoding: 8bit

Return-Path: <root@na-msdevega>
Received: from na-msdevega. (localhost [127.0.0.1])
        by na-msdevega. (8.12.10+Sun/8.12.10) with ESMTP id k16A1Afv000461
        for <micorreo>; Mon, 6 Feb 2006 11:01:10 +0100 (CET)
Received: (from root@localhost)
        by na-msdevega. (8.12.10+Sun/8.12.10/Submit) id k16A1AlG000460;
        Mon, 6 Feb 2006 11:01:10 +0100 (CET)
Date: Mon, 6 Feb 2006 11:01:10 +0100 (CET)
Message-Id: <200602061001.k16A1AlG000460@na-msdevega.>
Subject: Como enviar e-mail desde Perl
To: micorreo
From: mi correo

CPAN es tu amigo.
el valor de i es 0.
Perl es superior porque todo está en CPAN.
Resistirse es inútil.

--k16A1Afv000463.1139220070/na-msdevega.--


¿¿ por que puede ser esto ?? ¿¿ No habrá instalado un servidor de correo ??
Supongo que Solaris utiliza el sendmail por defecto.
Aunque creo que esta activado.
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Publicidad

Notapor explorer » 2007-02-21 03:52 @202

* En el print ... <<CUERPO, falta poner el ';' al final de esa línea, no al final del bloque de texto.

* El error dice que el servidor de correo al que te conectas no encuentra el host micorreo.
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

Notapor javierg » 2007-02-21 10:43 @488

Buenas, ya cambie lo de ;
El que no me llegen los correos supongo que será algún problema del apache.
Me podeis decir que tengo que cambiar
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Notapor creating021 » 2007-02-21 17:27 @768

Después de unirme a la colectiva, he visto un par de cosas:

if($@){} debe ir después del eval y antes de print $m...

Para ese típo de programas es mejor usar Net::SMTP ya que viene en perl y es ideal para esto, un poco más largo pero mira:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Net::SMTP;
$smtp = Net::SMTP->new('mailhost') or die "Oops: $@\n";
$smtp->mail($ENV{USER});
$smtp->to('postmaster');
$smtp->data();
$smtp->datasend("To: micorreo\n");
$smtp->datasend("\n");
$smtp->datasend("CPAN es tu amigo.\nPerl es superior porque todo está en CPAN.\nResistirse es inútil.\n");
$smtp->dataend();
$smtp->quit;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Mira la página y verás todo lo que tiene...
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor javierg » 2007-02-22 03:02 @168

Buenas, la cosa de utilizar el modulo Email::Send, es por que no me pide otros modulos. Tengo una versión antigua de perl.
El script funciona, la pega es que los correos no salen hacia fuera. Supongo que será por algun tema de apache
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Notapor explorer » 2007-02-22 03:37 @192

No creo que tenga nada que ver el Apache con el sistema de correo... son cosas distintas.
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

Notapor creating021 » 2007-02-23 16:38 @734

Pues... mira con telnet a ver si hay algún error en el servidor ya que el error dice que mailhost es el problema... Puedes intentar con otro servidor a ver que pasa.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados