Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/10/2006, 08:38
Christianhxc
 
Fecha de Ingreso: agosto-2006
Mensajes: 11
Antigüedad: 17 años, 8 meses
Puntos: 0
ok, aqui pongo mi codigo y las tablas, como les digo, no pienso que sea php, pienso que talvez son algunas configuraciones del servidor (uso Apache), o algo de las BD, la verdad no se que podra ser, nunca me habia enfrentado con esto....

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

$mail->From = $_POST['remitente'];;
$mail->Subject = $_POST['asunto'];
$mail->FromName = $_POST['nombre'];
$mail->Host = "servidorsmtp";
$mail->Mailer = "smtp";
$mail->IsSMTP();
$mail->IsHTML(true);

$db = mysql_connect("host",usuario","password") or die(mysql_error());
@mysql_select_db ("BasedeDatos",$db) or die(mysql_error());

$sql="select a.id, a.email, a.status, b.idemail from emails as a left join temp as b on a.id = b.idemail where (b.idemail IS NULL and (a.status=0 or a.status=99))";
$res=@mysql_query($sql) or die(mysql_error());
$num=@mysql_num_rows($res);

$html="SELECT html FROM envios WHERE asunto='".$_POST['asunto']."'";
$quer=@mysql_query($html) or die(mysql_error());
$resul=@mysql_fetch_array($quer);
$html = $resul["html"];

$comillas = "\'";
$remp = "'";
$html = str_replace($comillas,$remp,$html);

$cont=0;

while($registro=mysql_fetch_array($res))
{
$id = $registro["id"];
// HTML body
$rem="bol01.php?idemail=";
$rem2="bol01.php?idemail=".$id;
$html=str_replace($rem,$rem2,$html);

$remp13 = "contacto.php?idemail=";
$remp14 = "contacto.php?idemail=".$id;
$html = str_replace($remp13,$remp14,$html);

$remp3 = "desuscribir.php?";
$remp4 = "desuscribir.php?email=".$id."&";
$html = str_replace($remp3,$remp4,$html);

$mail->Body = $html;
$mail->AddAddress($registro["email"], $registro["email"]);

if(!$mail->Send())
echo "Error al mandar a " . $registro["email"] . "<br>";

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

$rem1="bol01.php?idemail=".$id;
$rem12="bol01.php?idemail=";
$html=str_replace($rem1,$rem12,$html);

$remp113 = "contacto.php?idemail=".$id;
$remp114 = "contacto.php?idemail=";
$html = str_replace($remp113,$remp114,$html);

$remp7 = "desuscribir.php?email=".$id."&";
$remp8 = "desuscribir.php?";
$html = str_replace($remp7,$remp8,$html);

$ins="INSERT INTO temp (idemail,datetime) VALUES ('$id',NOW())";
$resu=mysql_query($ins) or die(mysql_error());
$cont=$cont+1;
}//fin del while

echo "<br>";
echo "Se enviarion $cont emails<br>";
echo "FIN DEL PROCESO.....";
exit();
mysql_close();
?>

TABLA DONDE CONSULTO LOS CORREOS:

CREATE TABLE `emails` (
`id` int(50) NOT NULL auto_increment,
`email` varchar(255) NOT NULL default '',
`nombre` varchar(255) NOT NULL default '',
`apellido` varchar(60) NOT NULL default '',
`status` int(20) NOT NULL default '0',
`valido` varchar(255) NOT NULL default 'pendiente',
`datetime` datetime NOT NULL default '0000-00-00 00:00:00',
`origen` varchar(60) NOT NULL default '',
PRIMARY KEY (`id`,`email`)
) ENGINE=MyISAM AUTO_INCREMENT=162011 DEFAULT CHARSET=latin1 AUTO_INCREMENT=162011 ;

TABLA DONDE HAGO EL INSERT DE LOS CORREOS ENVIADOS:
CREATE TABLE `temp` (
`idemail` int(50) NOT NULL default '0',
`datetime` datetime NOT NULL default '0000-00-00 00:00:00',
KEY `idemail` (`idemail`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

espero esta sea suficiente informacion y de todas maneras voy a seguir investigando que puede estarme causando este problema, porque el script de php no se para, osea, sigue diciendo "Enviando..." pero llega un momento en que el proceso en mysql se muere y ya no sigue insertando entonces no puedo generar un reporte de los enviados, bueno, muchisimas gracias por su ayuda....