• Publicidad

Sendmail

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Sendmail

Notapor patito » 2007-08-08 10:06 @463

Hola, necesito habilitar la opción de envío de correos en mi programa, ya instalé Mail::sendmail ver 0.79, Mime-Lite 3.71, pero no logro enviar el mail. El código es el siguiente:
Primer código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!c:\perl\bin\perl.exe

use strict;
use MIME::Lite;

$msg = MIME::Lite->new(
From =>'[email protected]',
To => '[email protected]',
subject => 'hola',
Data =>"prueba"
);

MIME::Lite->send('smtp', "ip de mi servidor de correo", Timeout=>60);
$msg->send;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


con el código anterior aparece mensaje indicando "global symbol $msg requires explicit package name at mail.pl y el otro código con sendmail es:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!c:\perl\bin\perl.exe


use strict;
use Mail::Sendmail;

my %mail=(
To=>'[email protected]',
From=> '[email protected]',
Subject=>'asunto',
Message=> 'mi mensaje',
smtp=>'ip de mi server de correo'
);

unless(sendmail(%mail)){
print "eeerror\n";
exit(1);
}
print "ok\n";
exit(1);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


e imprime el mensaje de error indicando que no pudo ejecutar el programa.

Help please!.
patito
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2007-05-07 22:23 @974

Publicidad

Notapor monoswim » 2007-08-08 10:51 @494

¿En el error log del server qué te aparece ?

Fíjate que en la sección de tutoriales de este sitio hay uno sobre como enviar mails desde Windows...

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor patito » 2007-08-08 11:11 @508

En error log del server no aparece nada indicando algún problema, y sí revisé los tutoriales y de acuerdo a ellos realicé las instalaciones del sendmail y del mail-lite pero no he logrado que funcione.
patito
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2007-05-07 22:23 @974

Notapor explorer » 2007-08-08 11:36 @525

El mensaje de error del primer programa te dice que debes cambiar la línea
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$msg = MIME::Lite->new(
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
por
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $msg = MIME::Lite->new(
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Y del segundo programa, tengo la duda de si te refieres a que no se pudo ejecutar el programa Perl o no se pude ejecutar el sendmail. En el segundo caso, necesitarás tener instalado un sendmail en tu ordenador.

Mail::Sendmail no funciona en Windows salvo que lo hagas bajo Cygwin.

Nosotros, en Windows, usamos el módulo Mail::Sender.
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 patito » 2007-08-08 12:10 @548

Cambié el código y puse my $msg = MIME::Lite->new( y aparece el mensaje indicando Failed to conect to mail server :unknown error.

Y sí tengo el Mail::sendmail. Lo bajé de http://ppm.activestate.com/PPMPackages/ ... ilds-only/
al parecer sí opera pero no logra enviar el mail; aparece el mensaje de error que se indica en el código al no poder enviar:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
unless(sendmail(%mail)){
print "eeerror\n";
exit(1);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
patito
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2007-05-07 22:23 @974

Notapor explorer » 2007-08-08 12:58 @582

Que tengas el Mail::Sendmail no significa que te funcione. En el enlace que te he pasado antes se demuestra que el módulo no ha sido probado nunca en Windows (salvo bajo Cygwin).

El error que te sale con MIME::Lite quiere decir que no ha podido conectarse a la máquina que le has indicado en el segunda parámetro de la función send().
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 patito » 2007-08-08 14:15 @635

Después de varias horas de realizar pruebas y no tener éxito, deshabilité el antivirus del servidor, y ¡FUNCIONO! se logró el envío de correos electrónicos, con Mime-Lite.

Para el caso de sendmail instalé el módulo autorizado por cygwin pero no logro enviar correos aun. En fin, muchas gracias por el apoyo tan oportuno que siempre me han brindado.

Saludos.
patito
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2007-05-07 22:23 @974

Notapor explorer » 2007-08-08 15:10 @674

Es posible que el antivirus esté haciendo de proxy de correo, por lo que en ese caso, en vez de poner la IP de un servidor público de correo, tendrías que haber puesta la IP local de tu ordenador (127.0.0.1) para que el módulo se conectase a tu antivirus y luego este se encargara de enviarlo al exterior.

Eso se puede ver en la configuración de tu cliente de correo, en la sección conexiones.

Para el otro módulo te obligará instalar Cygwin, pero con tal de que te funcione uno, ya está.
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


Volver a Intermedio

¿Quién está conectado?

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

cron