Ver Mensaje Individual
  #16 (permalink)  
Antiguo 13/05/2005, 19:55
Avatar de mixba
mixba
 
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 5 meses
Puntos: 0
El código del script es algo asi:

Código PHP:
if ($action == "") {

echo
"<form action=\"admin.php?op=newsletterneu\" method=\"post\">
<h4>Area solo texto</h4><textarea rows=\"10\" cols=\"75\" name=\"bodytext\">$bodytext</textarea><br><br>
<h4>Area HTML</h4><textarea rows=\"20\" cols=\"75\" name=\"inhalt\"></textarea><br><br>
Asunto: <br><input type=\"text\" name=\"thema\"><br>
Remitente: <br><input type=\"text\" name=\"sender\"><br><br>
<input type=\"hidden\" name=\"datum\" value=\"$aktuellesdatum\">
<input type=\"text\" name=\"T1\" size=\"1\" maxlength=\"2\">&nbsp;x Noticias<br>
<input type=\"down\" name=\"T2\" size=\"1\" maxlength=\"2\">&nbsp;x Descargas<br>
<input type=\"forum\" name=\"T3\" size=\"1\" maxlength=\"2\">&nbsp;x Tópicos del foro<br><br>
<IMG alt='' src='$nukeurl/modules/Newsletter/images/T1.gif' width=25 border=0 align='absmiddle'>&nbsp;
<input type=\"radio\" name=\"template\" value=\"1\" checked> Plantilla 1<br>
<IMG alt='' src='$nukeurl/modules/Newsletter/images/T2.gif' width=25 border=0 align='absmiddle'>&nbsp;
<input type=\"radio\" name=\"template\" value=\"2\"> Plantilla 2<br>
<IMG alt='' src='$nukeurl/modules/Newsletter/images/T3.gif' width=25 border=0 align='absmiddle'>&nbsp;
<input type=\"radio\" name=\"template\" value=\"3\"> Plantilla 3<br>
<IMG alt='' src='$nukeurl/modules/Newsletter/images/T4.gif' width=25 border=0 align='absmiddle'>&nbsp;
<input type=\"radio\" name=\"template\" value=\"4\"> Plantilla 4<br><br>"
;
}

............
consultas a base de datos

if ($action == "send") {

$from_name "Nombres";
$host_smtp "smtp.host.com";
$user_smtp "[email protected]";
$pass_smtp "elpass";
include (
"modules/Newsletter/templates/T$template.php");

......
otras sentencias hasta el 6

if ($nltr==6) {
global 
$user_prefix$sitename$dbi$nukeurl$adminmail;
$email_from_mail $adminmail;
$email_from_name $from_name;
$email_betreff "$thema";
require(
"includes/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir "includes/";
$mail->Mailer   "smtp";
$mail->Host     $host_smtp;
$mail->SMTPAuth true;
$mail->Username $user_smtp;
$mail->Password $pass_smtp;
$mail->From     $email_from_mail;
$mail->FromName $email_from_name;

$resultado sql_query("SELECT email FROM nuke_newsletter where status = 0"$dbi);

if (
mysql_num_rows($resultado) >= $contad){

if (!isset(
$_GET['contad'])){ 
   
$contad=0;
} else {
   
$contad=$_GET['contad'];
}

$result sql_query("SELECT email FROM nuke_newsletter where status = 0 LIMIT $contad,50"$dbi); // or status = 2 or status = 4

while($row sql_fetch_array($result$dbi)) {

    
$mail->Subject $email_betreff;
    
$mail->Body    $emailbody;
    
$mail->AltBody $bodytext;
    
$mail->AddAddress($row["email"]);
    if(!
$mail->Send())
    {
       echo 
"<br>Problemas enviando correo electrónico a: " $row["email"] . "";
       echo 
"(" .$mail->ErrorInfo")<br>";    
    }
    else
    {    
       
$mensaje="<br>Boletín enviado a: " $row["email"] . "<br>";
            echo 
$mensaje;
    }
$mail->ClearAddresses();

}

header ("Location: " $_SERVER['PHP_SELF'] . "?op=newsletterneu&action=send&nltr=$nltr&contad=" . ($contad 50));

} else {

echo 
"<br><br>El boletín fué enviado a toda la Lista de Correo. Esto es lo que será visto:<br>";
echo 
"<br><b>Eviado por: </b>$sender <br>
<b>Acerca: </b>$email_betreff<br>"
;
echo 
$emailbody;
$msg_mail_arch $emailbody;
$fichi fopen("modules/Newsletter/archives/".date(Ymd).".html""a");
fwrite($fichi,$msg_mail_arch."<br>");
fclose($fichi);
}
} else {
echo 
"<br><hr><font color=red>El boletín no fué enviado a la Lista de Correo</font><br>";
}

Entonces me da estos errores al finalizar las secuencias:
Warning: main(modules/Newsletter/templates/T.php): failed to open stream: No such file or directory in c:\appserv\www\web\admin\modules\newsletterneu.php on line 299

El script completo es demasiado largo asi ke lo he resumido, en realidad trabaja con un formulario en post que me pasa todas las variables, el problema es al enviar cada 50 mails, alli ocurre que no pasa las variables como ves T.php por ejemplo, deberia ser T(número).php, como ocurre con las variables $sender, $bodytext, $emailbody, que son las que vienen desde el formulario y están fuera del if()

Última edición por mixba; 13/05/2005 a las 20:27