Lun Ene 07, 2008 6:40 pm
|
|
|
|
|
|
No he entiendo demasiado sobre el asunto explorer pero te agradeceré infinitamente si me ayudas a resolver este problema.
Yo también continúo buscando una solución. SALUDOS y MUCHÍSIMAS GRACIAS. |
|
|
|
Lun Ene 07, 2008 6:48 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|

Lun Ene 07, 2008 7:08 pm
|
|
|
|
|
|
Verifiqué en la carpeta en donde tengo los módulos que no estaban instalados en mi hosting y veo que tengo la versión 2.10. De hecho descargué el archivo desde la página de CPAN, pero me estoy acordando que pedí al soporte técnico de mi hosting que instalaran también ese modulo y así lo hicieron y estoy viendo que tiene instalada la versión 0.99, bueno eso creo porque en la lista en donde se muestran los módulos que están instalados en mi hosting aparece así Authen::SASL (0.99)
Pero la duda es: ¿al usar un módulo, Perl lo busca primero en el servidor y si no lo encuentra después lo busca en la carpeta que yo puse?
¿Si lo encuentra primero en mi servidor ya NO lo buscará en la carpeta que yo los guarde? |
|

Lun Ene 07, 2008 7:30 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
| Coloca la línea 'use Authen::SASL 2.10;' por ENCIMA de la del MIME::Lite; |
|
Mar Ene 08, 2008 1:41 pm
|
|
|
|
|
|
Hola de nuevo explorer hice las modificaciones que me indicaste al pie de la letra, y exactamente sale el mismo error.
Solicité a soporte técnico de mi hosting que desinstalaran el módulo Authen::SASL para yo utilizarlo directamente desde la carpeta en donde lo guardé, y así lo hicieron, y no hubo ningún cambio, el mismo error.
| Código: |
| Unknown callback: 'authname'. (user|auth|language|pass) |
Ya sueño con este error, ya se volvió un reto encontrarle la solución a esto a como de lugar. |
|
Mar Ene 08, 2008 1:45 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
| ¿Qué versión de Perl tienen instalada? |
|
Mar Ene 08, 2008 1:49 pm
|
|
|
|
|
|
| Es la versión Perl 5.8.8. |
|
Mar Ene 08, 2008 2:13 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
Pues sí que estoy perdido... a mi me funciona bien y eso que he probado a enviar un centenar de cartas...
Lo siento... no se me ocurre nada más... salvo que les preguntes si es realmente necesario usar autenticación en su servidor. Si no lo es, entonces quita la parte de usuario y contraseña.
Y si sí, pues les preguntas qué soluciones tienen en cuanto a 'listas de correo'. No creo que la instalación de otro módulo resuelva el problema. |
|

Mie Ene 09, 2008 2:31 pm
|
|
|
|
|
|
Hice una prueba de esta manera:
| Perl: | #!/usr/bin/perl
use lib ('lib');
use CGI:: Carp qw(fatalsToBrowser );
use Authen:: SASL;
use MIME:: Lite;
use strict;
my $usuario = 'admin@domain.com';
my $password = 'mipass';
my $host = '00.00.00.000';
my $msg = MIME:: Lite-> new(
From => 'admin@domain.com',
To => 'admin@domain.com',
Cc => 'test@hotmail.com',
Subject => 'CGI email',
Data => "FUNCIONA",
);
$msg-> send('smtp', $host); |
Y cuando no agrego destinatario CC si me envía el correo, pero cuando agrego un destinatario CC me marca este error.
| Código: |
SMTP recipient() command failed:
sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) |
En el email que pongo como CC sí que tengo en la lista de permitidos el correo admin@domain.com
¿Alguien sabe a qué se debe este error y si tiene solución?
explorer, que servidor de email estás utilizando para hacer el envió de todos los mails que mencionas? ¿Cuántos emails te permite enviar? ¿Cuánto cuesta?
¿Alguien me puede recomendar un servicio de email hosting, en el que pueda hacer uso del SMTP de manera ilimitada o algo parecido? Tengo pensado contratar otro para probar el script, porque si explorer dice que le ha funcionado perfectamente entonces lo que está fallando es mi servidor de email. |
|

Mie Ene 09, 2008 5:19 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
Bueno, si te permite enviar el correo en el To:, entonces ya tienes una posibilidad de envío de los correos.
En cuanto al error, he hecho lo de siempre (buscarlo en Google: http://www.google.es/search?q=sorry%2C+that+domain+isn't+in+my+list+of+allowed+rcpthosts&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a ) y me sale que la mayoría dicen que es un fallo de autenticación (es necesario autenticarse, PERO en
http://support.netfirms.com/article.php?id=672
dice que puede deberse, también, a otra causa: que el dominio del destinatario no esté propagada por los servidores de nombres (vamos, que no está reconocido como dominio real).
Mi servidor de correo es propio. Quiero decir que yo tengo una empresa de alojamiento y damos servicio de correo y web. El servidor usa el sendmail, con algunas limitaciones que ya te comenté antes.
Nosotros solemos cobrar por tráfico (el espacio en disco duro y la ocupación de CPU es bajísima en la mayoría de los casos).
Dudo que exista servidores que permitan el envío de correo de forma masiva sin limitación porque podría ser denunciado como SPAM y quedar bloqueado. Es un asunto complicado. En cambio, si se dice que el número de correos a enviar está dentro de unos límites y, sobre todo, que los correos van a salir a una cierta cadencia, entonces no veo problemas en la mayoría de los servidores.
Yo, creo, que tu problema es de software.
Mira, he hecho una prueba, pero en modo CGI, con el siguiente programa:
| Perl: | #!/usr/bin/perl
use CGI qw/:standard/;
use CGI:: Carp qw(fatalsToBrowser );
use MIME:: Lite;
use strict;
my $host = '1xx.xxx.xxx.xx';
my $msg = MIME:: Lite-> new(
From => 'admin@domain.com',
To => 'explorer@xxxxxx.net',
Cc => 'jferrero@xxxxxx.com',
Subject => 'CGI email',
Data => "FUNCIONA",
);
$msg-> send('smtp', $host, AuthUser => 'xxxxxx', AuthPass => 'yyyyyy');
print header,start_html,end_html; | Y sí que me ha funcionado. Lo he ejecutado 100 veces (for i in $(seq 1 100); do ./manda_email.pl; done) y han llegado todos y sin mensajes de error. La versión de MIME::Lite es la 3.01. Y no es necesario Authen::SASL porque se está ejecutando en el propio servidor que va a enviar los correos (está permitido enviar correo desde el propio servidor web). |
|

Jue Ene 10, 2008 12:41 am
|
|
|
|
|
|
Hola explorer. Hice la prueba con el script que mencionas en el post anterior y estoy completamente seguro que está bien como tu lo dices pero a mi me sigue saliendo el mismo error con el que sueño ya todos los días (yo sigo pensando que lo que falla es el servidor de email que contraté).
¿En tu empresa de alojamiento, venden servicio para envío de emails (hosting email)? ¿Qué empresa es? o donde puedo ver información de la empresa?
Yo también se que eso de "ilimitado" es una gran mentira pero bueno mi intención es que me permita hacer una buena cantidad de envió de emails sin ningún problema (aclarando, estoy totalmente en contra del spam porque veo que hoy en día cualquier persona que intenta hacer envío masivo de emails lo primero que se piensa es que es por spam porque es lo mas común).
Una ultima duda, si mi servidor de hosting me permite enviar solo 200 emails por hora, ¿puedo de esta manera adaptar el script para que se haga el envío de los emails más lento, y así no superar los 200 emails por hora? (usando Timeout)
| Perl: | $msg->send('smtp', $host, Timeout=>20, AuthUser => 'xxxxxx', AuthPass => 'yyyyyy'); |
Si es así, ¿qué desventajas y ventajas tiene el uso de Timeout=>20 ?
¿O qué problemas podría tener al usarlo de esta manera? |
|

Jue Ene 10, 2008 2:59 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
El Timeout se refiere al tiempo máximo de envío de solo esa conexión. Si solo envías un correo con esa línea, pues se refiere al tiempo máximo para enviar solo ese correo.
Una forma de distribuir los correos en un plazo largo de tiempo sería con la función sleep(). Coges la calculadora y a echar cuentas. Más o menos, sale a unos diez segundos por correo. Bueno, pues ponemos un sleep(10) o un poco menos y así tenemos garantizado que van a salir todos.
En cuanto a lo de mi empresa, mejor lo hablamos de forma privada. Entra en mi perfil y mándame un correo. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|