Foros del Web » Programando para Internet » PHP »

sobre php mailer

Estas en el tema de sobre php mailer en el foro de PHP en Foros del Web. pues tengo un codigo que me funciona, manda mails y todo, pero pues, como tengo que mandar una lista de pendientes osea llega uno y ...
  #1 (permalink)  
Antiguo 18/05/2009, 15:05
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 13 años, 7 meses
Puntos: 9
sobre php mailer

pues tengo un codigo que me funciona, manda mails y todo, pero pues, como tengo que mandar una lista de pendientes osea llega uno y se agrega a una base de datos, al final del día se manda a diferentes usuariso (depende a quien se asigno) un resumen de tareas.

bueno el detalle es que el asunto, correo del destinatario y todo asi, se va sumando en forma de cadena, por ejemplo para el mail 1 el asunto es "asunto", para el mail 2 es "asunto asunto", para el mail 3 es "asunto asunto asunto" y asi, y pues no se como puedo modificar esa estructura, no se si me pueden hechar una mano, aqui el codigo:

Código:
<?
//sending email
	include '../connect.php';
	require_once '../../phpmailer/class.phpmailer.php';
	error_reporting(0);
	$mail = new PHPMailer ();
	$mail -> From = "[email protected]";
	$mail -> FromName = "Sistema de Control";
	$mail->IsSMTP();
	$mail->Host = 'ssl://smtp.gmail.com';
	$mail->Port = 465;
	$mail->SMTPAuth = true;
	$mail->Username = '[email protected]';
	$mail->Password = 'xxx';
			
	$sql=mysql_query("SELECT * FROM mailing");

	$rows = mysql_num_rows($sql);

	if ($rows == 0){
		?>
		<script language="javascript">
			document.location="done.php";
		</script>
		<?
	}else{
		while ($row = mysql_fetch_array($sql)) {
			$docs_turnados=$row[4]+$row[5];
			$documentos_generales=$row[4];
			$documentos_bandeja=$row[5];
			
			$mail -> AddAddress ($row[3]);
			$mail -> Subject = 'asunto x';		
			$mail -> IsHTML (true);
			
			if(!$mail->Send()) {
				echo '<font face="Trebuchet MS" size="2" color="#CC3300"><span style="background-color: #F4F4F4">&nbsp;Error: ' . $mail->ErrorInfo.' </span></font>';
			}else{
				echo '<br><font face="Trebuchet MS" size="2" color="#008000"><span style="background-color: #F4F4F4">&nbsp;Notificacion enviada correctamente a:  <b>'.$row[3].'</b></span></font><br>';
				
				$sql_delete="DELETE FROM mailing WHERE id_registro='$row[0]'";

				$result=mysql_query($sql_delete, $link);
				if (!$result) {
					echo '<p><font face="Trebuchet MS" size="2" color="#FF0000">la notificación se ha eliminado del servidor</font></p><br>';
				}else{
					echo '<p><font face="Trebuchet MS" size="2" color="#808080">la notificación se ha eliminado del servidor</font></p><br>';
				}
				
			}
		}
		?>
		<script language="javascript">
			function send_mail(){
				document.location="done.php";
			}
			setTimeout ("send_mail()", 200);
		</script>
		<?
	}
	echo '<br>unexpected end';
?>
creo que el problema es que se les asigna el valor con -> pero no se la verdad como puedo reemplazaralo, pues como que es un vector o nose.

gracias por la ayuda.
  #2 (permalink)  
Antiguo 18/05/2009, 19:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: sobre php mailer

Código php:
Ver original
  1. $mail -> Subject = 'asunto x';
Lo tienes literalmente así? Si es así, es muy raro que te esté pasando eso, pues en cada bucle redefines la propiedad Subject y no debería sumarse. SI no lo tienes así, pon el código tal y como lo tienes.

Ahora, siempre que tengas que enviar muchos correos dependientes de ciclos o loops usa al finalizar cada loop los métodos ClearAddresses(); y ClearAttachments():

Código php:
Ver original
  1. $mail->ClearAddresses();
  2. $mail->ClearAttachments(); // Si es que tambien envias archivos adjuntos

  #3 (permalink)  
Antiguo 18/05/2009, 19:29
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: sobre php mailer

wow, eso si que va a funcionar, mira, el codigo si es asi en cierta forma, cambie una pequeña carta que es una mezcla de html basico y texto por asunto x

hay algun clear para el subject? y el body?

gracias por responder
  #4 (permalink)  
Antiguo 18/05/2009, 19:33
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: sobre php mailer

Cita:
Iniciado por Mcruzmx Ver Mensaje
el codigo si es asi en cierta forma, cambie una pequeña carta que es una mezcla de html basico y texto por asunto x
Ahí debe estar el error entonces

Cita:
Iniciado por Mcruzmx Ver Mensaje
hay algun clear para el subject?

Código php:
Ver original
  1. $mail->Subject = "";
  #5 (permalink)  
Antiguo 18/05/2009, 19:54
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: sobre php mailer

ah
jaja eske yo pensaba que habia algo como un clear ... asi como lo pusiste, pero mira, acabo de analisar los correos, y el unico que se suma es el Addresses, lo provare y comento =)

muchas gracias

Última edición por Mcruzmx; 18/05/2009 a las 19:54 Razón: dar gracias
  #6 (permalink)  
Antiguo 18/05/2009, 20:01
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: sobre php mailer

wow funcionó muy bien el $mail->ClearAddresses();

todo genial, nomas que siento que esta un poco lento el proceso de mail, osea cuando no daba el clear, pues estaba rapidito, asi normal, y ahorita lo siento lenton
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 23:48.