Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Como saber si tengo instalado PEAR Mail??

Estas en el tema de Como saber si tengo instalado PEAR Mail?? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Que tal, tengo esta duda, porque no se si mi servidor tiene instalado el PEAR, ya que necesito hacer un envio masivo de correos, porque ...
  #1 (permalink)  
Antiguo 31/08/2006, 13:39
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
Como saber si tengo instalado PEAR Mail??

Que tal, tengo esta duda, porque no se si mi servidor tiene instalado el PEAR, ya que necesito hacer un envio masivo de correos, porque lo he estado haciendo con mail(), pero solamente algunos me envia, y otros no. Ahora bien, solo necesito saber si tengo que tener algo instalado para poder usar PEAR Mail, o solamente con los archivos que estan pear.php.net es suficiente, y si es asi, en donde los tengo que poner??, con eso basta para que pueda usar PEAR Mail y enviar emails masivos???

Les agradezco de antemano su ayuda
  #2 (permalink)  
Antiguo 01/09/2006, 09:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
PEAR es un repositorio de classes en general .. un "framework" cuando todo trabaja junto (como así hacen muchas classes que se relacionan).

Primero debes tener PEAR instalado (puedes averigüar esto?) .. luego usa "PEAR Mail" como el manual o referencia que tengas a mano te indica como usarlo .. Si no tienes "PEAR Mail" instalado ya lo veras (Disculpa pero no sé metodo más fiel para chequear ese punto).

Por otro lado .. Si no usas "PEAR" en general para tu proyecto lo cual justifique depender de "PEAR" para usar sólo una "classe" de este ..podrías usar la "famosa" classe:

PHPMailer
http://phpmailer.sourceforge.net

Permite enviar por SMTP directo, usar vários SMTP servidores incluso para "balancear" la carga y se rige bastante por las "RFC's" que define el protocolo SMTP (para ajustar las cabeceras y propiedades del e-mail más fiel a los standares).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 05/09/2006, 11:46
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
Gracias cluster por responder rapido, ahora bien, es mas eficiente php mailer que PEAR::Mail????. Cual de los dos hace la tarea de envios masivos mas rapido. (Aclaro, mi BD esta en el mismo servidor en MySQL).

Otra cosa, PEAR::Mail ya esta viene instalado en PHP 5 o a partir de que version de PHP viene incluido???, disculpen pero soy algo nuevo en esto

Gracias por toda su ayuda.
  #4 (permalink)  
Antiguo 05/09/2006, 12:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Gracias cluster por responder rapido, ahora bien, es mas eficiente php mailer que PEAR::Mail????. Cual de los dos hace la tarea de envios masivos mas rapido. (Aclaro, mi BD esta en el mismo servidor en MySQL).
El termino "más rápido" realmente es muy subjetivo. Tanto PEAR::Mail como PHPMailer te permiten enviar el e-mail por SMTP directo (una de las formas más rápidas de enviar e-mail y tener control sobre lo que envias a nivel de la conexión). PHPMailer te permite hasta "balancear" la carga de envios usando vários servidores SMTP simultáneos (o así dice su documentación .. ese tema particular no lo he podido probar).

Cita:
Otra cosa, PEAR::Mail ya esta viene instalado en PHP 5 o a partir de que version de PHP viene incluido???, disculpen pero soy algo nuevo en esto
PEAR es un "framework" ... un entorno de desarrollo .. un "montón" de funciones .. de utilidades (relacionadas entre ellas) para que tu implementes tu aplicación con esas "bases".

No viene instalado "por defecto" cuando instalas PHP .. lo instalas opcionalmente. Entre otras cosas porqué "framewor's" para PHP no existe sólo el de PEAR .. hay muchos más (e incluso podrías diseñarte el tuyo y usarlo).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 05/09/2006, 12:14
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
ahhhh ya, esta bien. Entonces por ejemplo para que este instalado el "framework" de PHP::Mail en el servidor en donde tengo alojadas mis paginas, tengo que comunicarme con los que me prestan este servicio, no es asi?, o habra alguna forma en que yo lo pueda instalar o configurarlo de alguna manera para poder usarlo???(no se si me di a entender)

Gracias, de verdad, por tu ayuda y tu tiempo
  #6 (permalink)  
Antiguo 05/09/2006, 15:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio sí .. quien te presta el servicio de hosting tendría que tener instalado PEAR en general + las classes extra que necesites como PHP::Mail.

Ahora .. no sé por qué no quieres probar PHPMailer .. dicha classe está diseñada para trabajar con envio de e-mail exclusivamente. A no ser que PHP:Mail sea algún requerimiento de alguna otra aplicación que la use .. no veo por qué no puedes usar PHPMailer o por lo menos probarlo y sacar conclusiones tu mismo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 07/09/2006, 08:23
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
ok, dejame probarlo y si tengo alguna duda la escribire por aqui.

Gracias
  #8 (permalink)  
Antiguo 20/09/2006, 08:16
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
ok, debido a problemas con cambio de servidor no habia podido probar esta clase de PHPMailer, pero ahora que he estado viendo unos ejemplos y tratando de correrlos no me funciona, me tira este error

"Problemas enviando correo electrónico a
Language string failed to load: [email protected]"

¿¿Que podra ser??...

Aqui pongo el codigo php para ver si me pueden ayudar o si sera algo del servidor smtp que estoy usando....

CODIGO PHP:
<?
require "includes/class.phpmailer.php";
$mail = new phpmailer();

$mail->PluginDir = "includes/";

$mail->IsSMTP();

$mail->Host = "mail.onebyonegt.com";

$mail->SMTPAuth = true;

$mail->Username = "md.christian";
$mail->Password = "password";

$mail->From = "[email protected]";
$mail->FromName = "Christian Meléndez";

$mail->Timeout=10;

$mail->AddAddress("[email protected]");
$mail->Subject = "Prueba de phpmailer";
$mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";

$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";

$exito = $mail->Send();

$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(3);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;

}


if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
}
?>
  #9 (permalink)  
Antiguo 20/09/2006, 08:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Seguro que el usuario para autentificarte contra tu servdiro SMTP usado es:

$mail->Username = "md.christian";

Y no algo tipo:
$mail->From = "[email protected]";

Otros detalles:

Si tu haces: sleep(3); .. demoras la ejecución de tu scritp en ese punto por 3 segundos .. PHP impone un límite de tiempo de ejecución a tus scripts PHP (por defecto 30 segundos) .. así que "divide" y veras cuantos reintentos de envos de e-mails podrías hacer así antes de que PHP te dé un mensaje de error por ser superado el tiempo de ejecución del script PHP. Este valor se puede modificar usando set_time_limit() (y creo que en algún método o variable lo incorpora PHPMailer .. revisalo).

Sobre el problema de fondo, .. es necesario que pruebes otras direcciones de correo .. a ser posible no "hotmail" ni "gmail" ni similares. También debes revisar el "log" de envio de tu servidor de correo si tienes acceso a el, por qué es en ese log de ese servidor SMTP donde se detallará el por qué tu e-mail se ha rechazado .. De hecho el mensaje de error dice:

"Problemas enviando correo electrónico a
Language string failed to load: recipients_failed
[email protected]

Y es tu servidro SMTP el que lo está rechazando no PHP ni PHPMailer como tal.

El mensaje de error de "Language string failed to load" es de PHPMailer .. indica que no se ha configurado para mostrar esos mensajes de error con descripción própia y en el idioma que quieras (pues maneja vários).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 20/09/2006, 09:26
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
Cita:
Iniciado por Cluster Ver Mensaje
Seguro que el usuario para autentificarte contra tu servdiro SMTP usado es:

$mail->Username = "md.christian";

Y no algo tipo:
$mail->From = "[email protected]";
Si, seguro, con thunderbird de esa manera lo tengo configurado, xq lo tenia "@dominio.com" pero no funcionaba...

Cita:
Iniciado por Cluster Ver Mensaje
Otros detalles:

Si tu haces: sleep(3); .. demoras la ejecución de tu scritp en ese punto por 3 segundos .. PHP impone un límite de tiempo de ejecución a tus scripts PHP (por defecto 30 segundos) .. así que "divide" y veras cuantos reintentos de envos de e-mails podrías hacer así antes de que PHP te dé un mensaje de error por ser superado el tiempo de ejecución del script PHP. Este valor se puede modificar usando set_time_limit() (y creo que en algún método o variable lo incorpora PHPMailer .. revisalo).

Sobre el problema de fondo, .. es necesario que pruebes otras direcciones de correo .. a ser posible no "hotmail" ni "gmail" ni similares. También debes revisar el "log" de envio de tu servidor de correo si tienes acceso a el, por qué es en ese log de ese servidor SMTP donde se detallará el por qué tu e-mail se ha rechazado .. De hecho el mensaje de error dice:

"Problemas enviando correo electrónico a
Language string failed to load: recipients_failed
[email protected]

Y es tu servidro SMTP el que lo está rechazando no PHP ni PHPMailer como tal.

El mensaje de error de "Language string failed to load" es de PHPMailer .. indica que no se ha configurado para mostrar esos mensajes de error con descripción própia y en el idioma que quieras (pues maneja vários).

Un saludo,
ok, dejame revisar eso con lo del smtp, pero q crees que podria ser, el usuario y password o configuraciones del smtp??
  #11 (permalink)  
Antiguo 20/09/2006, 10:23
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 7 meses
Puntos: 0
Que tal, pues te cuento que encontre otro script para enviar por medio de una BD en mysql, pero me tira el siguiente error:

"There has been a mail error sending to [email protected]
There has been a mail error sending to [email protected]
There has been a mail error sending to [email protected]"

Y en esa tabla estaba la direccion de [email protected], y ahi si me llego el correo de prueba, pero xq a las otras no los envio????, la verdad el dominio que mas me interesaria es hotmail ya que mi BD es en gran parte de correso de hotmail....

Aqui pongo el codigo para que me digas q pudo pasar, o sera que tengo que configurar algo en el smtp????;

<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->From = "[email protected]";
$mail->FromName = "List manager";
$mail->Host = "mail.onebyonegt.com";
$mail->Mailer = "smtp";

@MYSQL_CONNECT("localhost","prueba","proof");
@mysql_select_db("clientes");
$query = "SELECT email FROM prueba";
$result = @mysql_query($query);

while ($row = mysql_fetch_array ($result))
{
// HTML body
$body = "Hello <font size=\"4\">" . $row["email"] . "</font>, <p>";
$body .= "<i>Your</i> personal photograph to this message.<p>";
$body .= "Sincerely, <br>";
$body .= "PHPMailer List manager";

// Plain text body (for mail clients that cannot read HTML)
$text_body = "Hello " . $row["email"] . ", \n\n";
$text_body .= "Your personal photograph to this message.\n\n";
$text_body .= "Sincerely, \n";
$text_body .= "PHPMailer List manager";

$mail->Body = $body;
$mail->AltBody = $text_body;
$mail->AddAddress($row["email"], $row["email"]);

if(!$mail->Send())
echo "There has been a mail error sending to " . $row["email"] . "<br>";

// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();
}
?>

Gracias por tu ayuda,
Saludos..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:52.