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

: