Foros del Web » Programando para Internet » PHP »

problama con envio de correo

Estas en el tema de problama con envio de correo en el foro de PHP en Foros del Web. hola amigo mi problema es el siguiente tengo una lista de correos a enviar los almaceno de la sigiente manera $mail = new PHPMailer(); $mail->IsSMTP(); ...
  #1 (permalink)  
Antiguo 16/06/2010, 23:38
 
Fecha de Ingreso: octubre-2009
Mensajes: 68
Antigüedad: 15 años, 1 mes
Puntos: 1
problama con envio de correo

hola amigo mi problema es el siguiente tengo una lista de correos a enviar los almaceno de la sigiente manera

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "[email protected]";
$mail->Password = "";

$mail->From = "[email protected]";
$mail->FromName = "asdfas";
$mail->Subject = "If";
$mail->AltBody = "fasfas :
";
for ($i = 1; $i< $_POST['inscritos'] + 1 ;$i++)
{
$correoElectronico = '{$_POST[\'correoElectronico'.$i.'\']}'; eval("\$correoElectronico = \"$correoElectronico\";");
$contrasena = rand ().$i;
$mail->MsgHTML("mensaje a enviar");
if($contrasena)
{
$mail->AddAddress("$correoElectronico", "Destinatario");
$mail->IsHTML(true);
if(!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
}
}
}

lo envio con phpmailer el problema es que con este codigo me envia el correo por ejemplo si son 3 inscritos me envia tres mensajes a cada correo
en vez de enviar solo el correo a cada inscrito por separado y solo uno.
Como hago para enviar solo un correo a cada uno de los inscritos y no los 3 mensajes a cada correo?
  #2 (permalink)  
Antiguo 16/06/2010, 23:46
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: problama con envio de correo

facil... mete en una funcion...
Código PHP:
function enviamail($correoElectronico,$Destinatario,$mensaje)
{
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth true;
$mail->SMTPSecure "ssl";
$mail->Host "smtp.gmail.com";
$mail->Port 465;
$mail->Username "[email protected]";
$mail->Password "";
$mail->From "[email protected]";
$mail->FromName "asdfas";
$mail->Subject "If";
$mail->AltBody "fasfas :
"
;
$mail->MsgHTML($mensaje);
$mail->AddAddress($correoElectronico$Destinatario);
$mail->IsHTML(true);

    if(!
$mail->Send())
    {
        echo 
"Error: " $mail->ErrorInfo;
    }
}


// aca llamamos a la funcion por cada alumno
for ($i 1$i$_POST['inscritos'] + ;$i++)
{
    
enviamail($correoElectronico,$Destinatario,$mensaje);

__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #3 (permalink)  
Antiguo 17/06/2010, 11:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 68
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: problama con envio de correo

muchas gracias por la respuesta
pero no puedo hacerlo con una funcion ya que bota un error que dice Cannot redeclare class PHPMailer aun asi con la funcion es lo mismo que enviarlo diectamente.
el problema es con la varible $correoElectronico y el for no se porque razon me envia varios correos y no uno solo como deberia de ser.

Etiquetas: correo, envio
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 21:34.