Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/09/2007, 18:24
miczoe
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 5 meses
Puntos: 0
phpmailer no envia a hotmail ni gmail,etc

Lo pude hacer con esto pero me envía dos veces el mismo mail??? porqueeee???

pero no se , como puedo en vez de cargar los destinatarios a mano, tomarlos de la bd users campo nick en el campo destino y separados por comas??? please estoy enloqueciendo.




Código PHP:
<?
  
// No almacenar en el cache del navegador esta página.
        
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // Expira en fecha pasada
        
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");        // Siempre página modificada
        
header("Cache-Control: no-cache, must-revalidate");                   // HTTP/1.1
        
header("Pragma: no-cache");                                           // HTTP/1.0

?> 
<form action="mail.php" method="post" enctype="multipart/form-data">
   <input type="text" name="destino"><br>
 <input type="text" name="asunto"><br>
   <input type="file" name="archivo"><br>
  <textarea name="mensaje"></textarea><br>
 <input type="submit" name="btsend" value="Enviar Email">
 
      <input type="hidden" name="action" value="send" />

      </form>
<?php
      
require("includes/class.phpmailer.php");
 
      if (
$_POST['action'] == "send") {
 
          
$varname $_FILES['archivo']['name'];
 
          
$vartemp $_FILES['archivo']['tmp_name'];

         

          
$mail = new PHPMailer();
 
          
$mail->Host "localhost";
  
          
$mail->From "[email protected]";
 
          
$mail->FromName "ZE";

          
$mail->Subject $_POST['asunto'];

          
$mail->AddAddress($_POST['destino']);

          if (
$varname != "") {
  
              
$mail->AddAttachment($vartemp$varname);
 
          }

          
$body "<strong>Mensaje</strong><br><br>";
 
          
$body.= $_POST['mensaje']."<br>";

          
$body.= "<i>Enviado por http://www.z.com.ar</i>";

          
$mail->Body $body;

          
$mail->IsHTML(true);

          
$mail->Send();

      }
      
$exito $mail->Send();

//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho para intentar enviar el mensaje, cada intento se hara 5 segundos despues del anterior, para ello se usa la funcion sleep.

$intentos=1;
while ((!
$exito) && ($intentos 5)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito $mail->Send();
$intentos=$intentos+1;

}

if(!
$exito)
{
echo 
"Problemas enviando correo electrónico a ".$valor;
echo 
"<br>".$mail->ErrorInfo;
}
else
{
echo 
"Mensaje enviado correctamente";
}
?>

Última edición por miczoe; 27/09/2007 a las 19:45