Foros del Web » Programando para Internet » PHP »

arrays...

Estas en el tema de arrays... en el foro de PHP en Foros del Web. Estimados amigos... tengo un problema con una variable... miren este codigo... Código PHP: echo  "$sub" ; $send_params [ 'recipients' ]    = array( '[email protected]' ); $send_params [ 'headers' ...
  #1 (permalink)  
Antiguo 01/06/2003, 22:48
 
Fecha de Ingreso: mayo-2002
Ubicación: Ecuador
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 0
arrays...

Estimados amigos...

tengo un problema con una variable... miren este codigo...

Código PHP:
echo "$sub";
$send_params['recipients']    = array('[email protected]');
$send_params['headers']    = array('From: [email protected]''To: [email protected]'Subject$sub); 
este codigo lo tengo dentro de una function... pero el problema surgue con el valor de la variable $sub ... ya que esta al hacerle echo me imprime el valo de la variable... pero dentro del array esta no tiene ningun valor y se imprime $sub...

como puedo hacer para que dentro de la linea $send_params['headers'] = array('From: [email protected]', 'To: [email protected]', 'Subject: $sub); tenga valor la variable $sub???


he tratado poniendole global pero nada... :(
  #2 (permalink)  
Antiguo 01/06/2003, 23:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes concatenar dicha variable ..

Código PHP:
$send_params['headers']    = array('From: [email][email protected][/email]''To: [email][email protected][/email]''Subject: '.$sub); 
ó .. usar comillas -DOBLES- para que PHP interprete $variable y le otorgue su valor ..

Código PHP:
$send_params['headers']    = array('From: [email][email protected][/email]''To: [email][email protected][/email]'"Subject: $sub"); 
(a todo esto .. se supone q $sub se lo pasas a tu función por parámetor o declarando como global $sub .. ¿es así? .. sinó, el ambito de las variables no afectará a esa en concreto si está fuera de tu función ..)

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 01/06/2003, 23:40
 
Fecha de Ingreso: mayo-2002
Ubicación: Ecuador
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 0
muchas gracias por tu pronta respuesta....

el problema ya lo soluciones.. unicamente era lo de las doble comillas (")...

pero ahora me surgue un inconveniente... veras.. lo que trato de hacer es un sistema de lista de correos en php... que use sendmail ....

he encontrado una libreria en un tema de este foro....

... el codigo de la libreria es... (class.smtp.inc)

Código PHP:
<?php
/*************************************** 
** Filename.......: class.smtp.inc 
** Project........: SMTP Class 
** Version........: 1.0.5 
** Last Modified..: 21 December 2001 
***************************************/ 

define('SMTP_STATUS_NOT_CONNECTED'1TRUE); 
define('SMTP_STATUS_CONNECTED'2TRUE); 

class 
smtp

var 
$authenticated
var 
$connection
var 
$recipients
var 
$headers
var 
$timeout
var 
$errors
var 
$status
var 
$body
var 
$from
var 
$host
var 
$port
var 
$helo
var 
$auth
var 
$user
var 
$pass

/*************************************** 
** Constructor function. Arguments: 
** $params - An assoc array of parameters: 
** 
** host - The hostname of the smtp server Default: localhost 
** port - The port the smtp server runs on Default: 25 
** helo - What to send as the HELO command Default: localhost 
** (typically the hostname of the 
** machine this script runs on) 
** auth - Whether to use basic authentication Default: FALSE 
** user - Username for authentication Default: 
** pass - Password for authentication Default: 
** timeout - The timeout in seconds for the call Default: 5 
** to fsockopen() 
***************************************/ 

function smtp($params = array()){ 

if(!
defined('CRLF')) 
define('CRLF'"\r\n"TRUE); 

$this->authenticated FALSE
$this->timeout 5
$this->status SMTP_STATUS_NOT_CONNECTED
$this->host 'localhost'
$this->port 25
$this->helo 'localhost'
$this->auth FALSE
$this->user ''
$this->pass ''
$this->errors = array(); 

foreach(
$params as $key => $value){ 
$this->$key $value



/*************************************** 
** Connect function. This will, when called 
** statically, create a new smtp object, 
** call the connect function (ie this function) 
** and return it. When not called statically, 
** it will connect to the server and send 
** the HELO command. 
***************************************/ 

function &connect($params = array()){ 

if(!isset(
$this->status)){ 
$obj = new smtp($params); 
if(
$obj->connect()){ 
$obj->status SMTP_STATUS_CONNECTED


return 
$obj

}else{ 
$this->connection fsockopen($this->host$this->port$errno$errstr$this->timeout); 
if(
function_exists('socket_set_timeout')){ 
@
socket_set_timeout($this->connection50); 


$greeting $this->get_data(); 
if(
is_resource($this->connection)){ 
return 
$this->auth $this->ehlo() : $this->helo(); 
}else{ 
$this->errors[] = 'Failed to connect to server: '.$errstr
return 
FALSE




/*************************************** 
** Function which handles sending the mail. 
** Arguments: 
** $params - Optional assoc array of parameters. 
** Can contain: 
** recipients - Indexed array of recipients 
** from - The from address. (used in MAIL FROM:-), 
** this will be the return path 
** headers - Indexed array of headers, one header per array entry 
** body - The body of the email 
** It can also contain any of the parameters from the connect() 
** function 
***************************************/ 

function send($params = array()){ 

foreach(
$params as $key => $value){ 
$this->set($key$value); 


if(
$this->is_connected()){ 

// Do we auth or not? Note the distinction between the auth variable and auth() function 
if($this->auth AND !$this->authenticated){ 
if(!
$this->auth()) 
return 
FALSE


$this->mail($this->from); 
if(
is_array($this->recipients)) 
foreach(
$this->recipients as $value
$this->rcpt($value); 
else 
$this->rcpt($this->recipients); 

if(!
$this->data()) 
return 
FALSE

// Transparency 
$headers str_replace(CRLF.'.'CRLF.'..'trim(implode(CRLF$this->headers))); 
$body str_replace(CRLF.'.'CRLF.'..'$this->body); 
$body $body[0] == '.' '.'.$body $body

$this->send_data($headers); 
$this->send_data(''); 
$this->send_data($body); 
$this->send_data('.'); 

$result = (substr(trim($this->get_data()), 03) === '250'); 
//$this->rset(); 
return $result
}else{ 
$this->errors[] = 'Not connected!'
return 
FALSE



/*************************************** 
** Function to implement HELO cmd 
***************************************/ 

function helo(){ 
if(
is_resource($this->connection
AND 
$this->send_data('HELO '.$this->helo
AND 
substr(trim($error $this->get_data()), 03) === '250' ){ 

return 
TRUE

}else{ 
$this->errors[] = 'HELO command failed, output: ' trim(substr(trim($error),3)); 
return 
FALSE



/*************************************** 
** Function to implement EHLO cmd 
***************************************/ 

function ehlo(){ 
if(
is_resource($this->connection
AND 
$this->send_data('EHLO '.$this->helo
AND 
substr(trim($error $this->get_data()), 03) === '250' ){ 

return 
TRUE

}else{ 
$this->errors[] = 'EHLO command failed, output: ' trim(substr(trim($error),3)); 
return 
FALSE



/*************************************** 
** Function to implement RSET cmd 
***************************************/ 

function rset(){ 
if(
is_resource($this->connection
AND 
$this->send_data('RSET'
AND 
substr(trim($error $this->get_data()), 03) === '250' ){ 

return 
TRUE

}else{ 
$this->errors[] = 'RSET command failed, output: ' trim(substr(trim($error),3)); 
return 
FALSE



/*************************************** 
** Function to implement QUIT cmd 
***************************************/ 

function quit(){ 
if(
is_resource($this->connection
AND 
$this->send_data('QUIT'
AND 
substr(trim($error $this->get_data()), 03) === '221' ){ 

fclose($this->connection); 
$this->status SMTP_STATUS_NOT_CONNECTED
return 
TRUE

}else{ 
$this->errors[] = 'QUIT command failed, output: ' trim(substr(trim($error),3)); 
return 
FALSE



/*************************************** 
** Function to implement AUTH cmd 
***************************************/ 

function auth(){ 
if(
is_resource($this->connection
AND 
$this->send_data('AUTH LOGIN'
AND 
substr(trim($error $this->get_data()), 03) === '334' 
AND $this->send_data(base64_encode($this->user)) // Send username 
AND substr(trim($error $this->get_data()),0,3) === '334' 
AND $this->send_data(base64_encode($this->pass)) // Send password 
AND substr(trim($error $this->get_data()),0,3) === '235' ){ 

$this->authenticated TRUE
return 
TRUE

}else{ 
$this->errors[] = 'AUTH command failed: ' trim(substr(trim($error),3)); 
return 
FALSE



/*************************************** 
** Function that handles the MAIL FROM: cmd 
***************************************/ 

function mail($from){ 

if(
$this->is_connected() 
AND 
$this->send_data('MAIL FROM:<'.$from.'>'
AND 
substr(trim($this->get_data()), 02) === '250' ){ 

return 
TRUE

}else 
return 
FALSE


/*************************************** 
** Function that handles the RCPT TO: cmd 
***************************************/ 

function rcpt($to){ 

if(
$this->is_connected() 
AND 
$this->send_data('RCPT TO:<'.$to.'>'
AND 
substr(trim($error $this->get_data()), 02) === '25' ){ 

return 
TRUE

}else{ 
$this->errors[] = trim(substr(trim($error), 3)); 
return 
FALSE



/*************************************** 
** Function that sends the DATA cmd 
***************************************/ 

function data(){ 

if(
$this->is_connected() 
AND 
$this->send_data('DATA'
AND 
substr(trim($error $this->get_data()), 03) === '354' ){ 

return 
TRUE

}else{ 
$this->errors[] = trim(substr(trim($error), 3)); 
return 
FALSE



/*************************************** 
** Function to determine if this object 
** is connected to the server or not. 
***************************************/ 

function is_connected(){ 

return (
is_resource($this->connection) AND ($this->status === SMTP_STATUS_CONNECTED)); 


/*************************************** 
** Function to send a bit of data 
***************************************/ 

function send_data($data){ 

if(
is_resource($this->connection)){ 
return 
fwrite($this->connection$data.CRLFstrlen($data)+2); 

}else 
return 
FALSE


/*************************************** 
** Function to get data. 
***************************************/ 

function &get_data(){ 

$return ''
$line ''
$loops 0

if(
is_resource($this->connection)){ 
while((
strpos($returnCRLF) === FALSE OR substr($line,3,1) !== ' ') AND $loops 100){ 
$line fgets($this->connection512); 
$return .= $line
$loops++; 

return 
$return

}else 
return 
FALSE


/*************************************** 
** Sets a variable 
***************************************/ 

function set($var$value){ 

$this->$var $value
return 
TRUE


// End of class 
?>

continua en el siguiente post....

y el archivo de ejecucion es (example.php) :

Código PHP:
<?
/***************************************/ 
include('class.smtp.inc'); 
$params['host'] = 'localhost'
$params['port'] = 25
$params['helo'] = exec('hostname'); 
$params['auth'] = TRUE
$params['user'] = 'webmaster'
$params['pass'] = 'miclave'
/***************************************/ 

/***************************************/ 
$send_params['recipients'] = array('[email protected]'); 
$send_params['headers'] = array('From: "WebMaster" ','To: [email protected]''Subject: Test email'); 
$send_params['from'] = '[email protected]'
$send_params['body'] = '.Test email.'

/***************************************/ 

/***************************************/ 
if(is_object($smtp smtp::connect($params)) AND $smtp->send($send_params)){ 
echo 
'Email sent successfully!'."\r\n\r\n"
print_r($smtp->errors); 
}else{ 
echo 
'Error sending mail'."\r\n\r\n"
print_r($smtp->errors); 

/***************************************/ 
?>

el problema es que en este archivo de ejecucion yo quisiera enviar multiples correos al sendmail... en donde las direcciones son tomadas de una base de datos.... ejemplo:

Código PHP:
$query "SELECT email FROM ${prefix}_newsletter WHERE status='2'"
$result mysql_query($query); 
while (list (
$sendto) = mysql_fetch_row($result)) 

if (
$sendhow == '1'// aqui distingue si es modo texto o modo html 

mail("$sendto"stripslashes($sub), stripslashes(strip_tags($text)), "From: $send"); ..... 
en este ejemplo uso la cfuncion mail de php.. y esta va de manera perfecta... envia los mail... pero quisiera que envie a traves del sendmail... que deberia de colocar aca? yo trate de la siguiente manera:

Código PHP:
$query "SELECT email FROM ${prefix}_newsletter WHERE status='2'"
$result mysql_query($query); 
while (list (
$sendto) = mysql_fetch_row($result)) 

if (
$sendhow == '1'// aqui distingue si es modo texto o modo html 

    
$send_params['recipients']    = array("$sendto");
    
$send_params['headers']        = array("From: $send""To: $sendto""Subject: $sub");
    
$send_params['body']        = "$text";                
    
$send_params['from']        = "$send"; ..... 
peor no me enviar los multiples email... :( ... si en vez de la variable coloco [email protected] ... el correo si es enviado... pero asi solo me enviaria uno... la idea es enviar a la lista completa... =)


alguna sugerencia de como enviar la lista completa a sendmail???
  #4 (permalink)  
Antiguo 02/06/2003, 00:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. mail() usa sendmail si es ese el "transportador" (MTA) que usas en tu servidor ... (se lo indicas en php.ini en la sección mail o SMTP o usas sendmail directo ..)

Ya sé que tiene sus problemas y se "atraganta" con muchos e-mails (entre otras cosas porqué envia e-mail -> y espera respuesta .. así que hasta que no termine el proceso completo no dará un OK o un error ... y dejará "colgado" el script que haga dicho proceso ..)

Lo que estas haciendo es (con esa classe) conectar directamente a tu servidor SMTP que uses (en tu caso dices q sendmail .. pues ese será) ..

El problema concreto al usar esa clase .. es que te pide un array en:

$send_params['recipients'] = array("$sendto");

Y tu le estas dando uno por un e-mail segun hace una pasada el bucle while que recorre todos los registros (e-mails) de esa tabla bajo esa condición "status=2" ...

En concréto le estas dando un array de -un- elemento .. La classe que estás usando en el método send() .. acepta si es sólo un e-mail .. una cadena (string) .. En tu caso:

$send_params['recipients'] = $sendto;


De todas formas .. así te debería ir (aunque seá un mail por un mail de tu lista a la vez ..)

Lo ideal sería (para aprovechar dicha classe) es que generes un array con los e-mails que se han de enviar en formato HTML y otro para los de texto plano (eso implicaría dos consultas SQL como la que usas con un AND campo_que_determina_si_HTML_o_texto_plano = valor que corresponda para uno u otro caso ...)

El array lo puedes generar usando mysql_fetch_array en lugar de tu xxx_row() y el list() ...

(pd: en el código que pusistes no se vé donde cierras tu bucle while() .. hemos de suponer que lo cierras correctamente? ...)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 02/06/2003 a las 01:01
  #5 (permalink)  
Antiguo 02/06/2003, 13:12
 
Fecha de Ingreso: mayo-2002
Ubicación: Ecuador
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 0
bueno... segun como dices... deberia de ir aunquesea un mail por mail... pero lastimosa mente no va ningunno :(

aca te coloco la funcion en donde uso la clase:

Código PHP:
function Adminsend($sub$text$htmltext$send

  global 
$admin$modul_name$prefix$adminmail$nukeurl
  include(
"header.php"); 
  
OpenTable(); 
  if (!isset(
$admin)) { 
    echo 
_new_accessdenied
    
CloseTable(); 
    return; 
  } 
     
  
cgiCenter(); 
  
cgiFontClass("Title"); 
  echo 
_new_admintitle
  
cgiFontClass(); 
  
cgiCenter(1); 
   
  
$query "INSERT ${prefix}_newsletter_send SET subject='".addslashes($sub)."', text='".addslashes($text)."', html='".addslashes($htmltext)."', send=NOW()"
  if(!
mysql_query($query)) 
  { 
    echo 
mysql_errno(). ": ".mysql_error(). "<br>"
    
CloseTable(); 
    return; 
  } 
   

    include(
'includes/class.smtp.inc'); 
    
/***************************************/ 
    
$params['host'] = 'localhost'
    
$params['port'] = 25;                     
    
$params['helo'] = exec('hostname'); 
    
$params['auth'] = TRUE;                 
    
$params['user'] = '[email protected]';         
    
$params['pass'] = 'clave';             
                
/***************************************/ 

  
$newsletterid mysql_insert_id(); 
  
$query "SELECT email, status, id, html FROM ${prefix}_newsletter WHERE status='2'"
  
$result mysql_query($query); 
  while (list (
$sendto$newstatus$subid$sendhow) = mysql_fetch_row($result)) 
  { 
/*      if ($sendhow == '1')  // Send as text 
    { */ 

    
echo "$sendto, "
    
$send_params['recipients']    = $sendto
    
$send_params['headers']        = array("From: $send""To: $sendto""Subject: $sub"); 
    
$send_params['body']        = "$text";                 
    
$send_params['from']        = "$send"
    
/***************************************/ 
//      mail("$sendto", stripslashes($sub), stripslashes(strip_tags($text)), "From: $send"); 
//    } 
       
    
$count++; 
    
$query "INSERT ${prefix}_newsletter_sendto SET userid='$subid', "
             
"newsletterid='$newsletterid', date=NOW()"
    if(!
mysql_query($query)) 
    { 
       echo 
mysql_errno(). ": ".mysql_error(). "<br>"
       
CloseTable(); 
       return; 
    }               
  } 
      
/***************************************/ 
    
if(is_object($smtp smtp::connect($params)) AND $smtp->send($send_params)){ 
        echo 
'Email sent successfully!'."\r\n\r\n"
        
print_r($smtp->errors); 
    }else{ 
        echo 
'Error sending mail'."\r\n\r\n"
        
print_r($smtp->errors); 
    } 
    
/***************************************/    
  
cgiCenter();   
  
cgiBR(2); 
  echo 
"$count "._new_ok
  
cgiBR(); 
  
cgiLinkM("index""admin"_new_clickhere); 
  
cgiCenter(1); 
  
CloseTable(); 
  include(
"footer.php"); 
         

Esta es la funcion que actualmente uso... las variables $sub, $text, $htmltext, $send son pasadas por un formulario en donde se defice el subject, el cuerpo del mail en texto y en html... y la variable $send que corresponde al correo del remitente del boletin... las variables son pasadas satisfactoriamente con el formulario...

como podras ver deje comentado la line if.. een donde condiciona a los que son html y texto... lo he dejado oviado con la intencion de confirmar si los mails son enviados a todos los usuarios...

aca esta el codigo del while...

Código PHP:
while (list ($sendto$newstatus$subid$sendhow) = mysql_fetch_row($result)) 
  { 
    echo 
"$sendto, "
    
$send_params['recipients']    = $sendto
    
$send_params['headers']        = array("From: $send""To: $sendto""Subject: $sub"); 
    
$send_params['body']        = "$text";                 
    
$send_params['from']        = "$send"

    
$count++; 
    
$query "INSERT ${prefix}_newsletter_sendto SET userid='$subid', "
             
"newsletterid='$newsletterid', date=NOW()"
    if(!
mysql_query($query)) 
    { 
       echo 
mysql_errno(). ": ".mysql_error(). "<br>"
       
CloseTable(); 
       return; 
    }               
  } 
como vez al final hace una cuenta para saber a cuantos usuarios le envia el boletin...

tambien encuentras este codigo...


Código PHP:
      /***************************************/ 
    
if(is_object($smtp smtp::connect($params)) AND $smtp->send($send_params)){ 
        echo 
'Email sent successfully!'."\r\n\r\n"
        
print_r($smtp->errors); 
    }else{ 
        echo 
'Error sending mail'."\r\n\r\n"
        
print_r($smtp->errors); 
    } 
    
/***************************************/ 
el cual es para confirmar que los mails han sido enviados...

la pagina de resuesta que me carga luego de enviar los mails... (supuestamente...) me mauestra...

Email sent successfully! Array ( )


298 ¡Boletin enviado!
¡Por favor, pulse aqui!


pero no es enviado ningun mail...

sobre lo que me decias de modificar el php.ini la verdad que poseo un plan de hosting compartido ... y no puedo hacceder a ello.. me gustaria tambien ver alguna forma de informarme si los mails quedan en cola en el sendmail... podria ser que esten en cola... pero como puedo saberlo??? como decia mi cuenta es de host compartido.. tengo acceso ssh pero no puedo acceder a consultar esto.. no tengo permisos :( ...

sobre lo que me decias de los arrays usando mysql_fetch_array en lugar de tu xxx_row() y el list() ... ... mmm... como seria esto... la verdad no soy uy experto programando... lo que hago es a punta de manuales y si sale es por obra y gracia divina je je je...

cualquier ayuda les agradeceria muchisimo :p

si alguien necesita la clase me lo hace saber y con gusto se la envio.


Atentamente

Un usuario en apuros :
  #6 (permalink)  
Antiguo 02/06/2003, 16:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Este código:


Código PHP:
    if(is_object($smtp smtp::connect($params)) AND $smtp->send($send_params)){ 
        echo 
'Email sent successfully!'."\r\n\r\n"
        
print_r($smtp->errors); 
    }else{ 
        echo 
'Error sending mail'."\r\n\r\n"
        
print_r($smtp->errors); 
    } 
Lo tienes fuera de tu bucle while() ?

Te lo comento porqué ahí en $smtp->send( ..) hace el envio del e-mail .. Si está fuera de tu función ademas .. también se perderá el ambito de las variables que uses (el array $sen_param ) ...

Tienes dos soluciones ..

1) .. metes ese "IF" dentro del bucle WHILE() ..
2) haces lo que te comenté de obtener esas direcciones de e-mail en un array para que se lo pases de una vez al $send_params['recipients'] = $sendto_array;


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 02/06/2003, 18:04
 
Fecha de Ingreso: mayo-2002
Ubicación: Ecuador
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 0
estimado amigo

muchas gracias por tu ayuda, he logrado enviar los email a la lista de la base de datos... con las condiciones de texto y html...

ahora me surgue un problema... la idea de usar el sendmail era de que pueda dejar todos los mails en cola ya que con la funcion mail del php no es posible... pero la verdad he llegado a lo mismo... no obtengo pagina de respuesta... al igual que usara la funcion mai del php...

No se puede mostrar la página
La página Web solicitada no está disponible en este momento. Puede que el sitio Web tenga problemas técnicos o que necesite ajustar la configuración de su explorador....


he regresado a el mismo punto de partida :( cuando la lista es demaciado grante ... esta se queda cargando y nunca devuelve la pagina de respuesta :( ... y por ello no se van todos los correos.... solo algunos...

alguna idea para solucionar esto?
  #8 (permalink)  
Antiguo 02/06/2003, 18:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si usas un servicio de hosting .. y no tienes acceso a tu "sendmail" .. no vas avanzar mucho ...

Prueba de usar un servicio de SMTP (tal vez de pago) que te ofrezca un mayor control sobre la cola de envio y demas detalles ...

Otro detalle es que le des tiempo a PHP para enviar los e-mails aumentando (si te deja tu servicio de hosting) el time-out de ejecución de tu script:

set_time_limit(segundos);

Usa eso al principio de tu scritps y dale segundos que creas q tarde en ejecutar tu envio .. (0 indicaría "infinito" .. es recomendable que le des algún tiempo en segundos por mucho que sea ..)

Otras opciones sería que "fraccionaras" el envio de e-mails en bloques de unos "cientos?" tal vez ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 02/06/2003, 18:36
 
Fecha de Ingreso: mayo-2002
Ubicación: Ecuador
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 0
voy a trabajar en lo que me dices...

gracias por tu ayuda, me ha sido de gran utilidad.

ahora te tengo una preguntita... que script me recomendarias para mailinglist que este en PHP+MySQL .... alguna sugerencia?

pero que permita enviar una lista superior a los 15.000 usuarios...


Saludos Cordiales
  #10 (permalink)  
Antiguo 02/06/2003, 20:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Pues script de mailing no he usado (y menos "masivo") .. pero si que uso esta classe:

http://phpmailer.sourceforge.net

Es bastante más "potente" que la que usas. En su página principal .. abajo en el apartado "Projects using PHPMailer
" salen algunas aplicaciones que usa dicha classe .. entre ellos están algunos sistemas de mailing.

Por lo menos .. esa clase que te menciono puede enviar e-mail usando mail() de PHP, uno (o varios) servidores SMTP y sendmail directo (tu sólo selecionas que vas a usar .. el resto lo usas igual para generar tu e-mail ..). Acepta "attach" (archivos adjuntos) .. imagenes incrustadas en tu e-mail .. envio de e-mail multiformato (texto plano y/o HTML ..) y algunas cosas más.

Sería cosa que lo probases (la classe en sí o bien algun "mailing" ya listo como los que ahí se indican que usan dicha classe). Y dentro de tus pruebas .. usa mail() o SMTP (prueba a usar varios a la vez ..) o sendmail ...

Un saludo,
  #11 (permalink)  
Antiguo 03/06/2003, 14:00
 
Fecha de Ingreso: mayo-2002
Ubicación: Ecuador
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 0
gracias bro! toy en deuda contigo

un saludo
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




La zona horaria es GMT -6. Ahora son las 18:17.