Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2010, 16:04
danilisss
 
Fecha de Ingreso: febrero-2010
Mensajes: 44
Antigüedad: 14 años, 2 meses
Puntos: 0
Funcion phpmailer - Enviar mensajes via smtp

Bueno les cuento el tema es el siguiente, como la funcion mail() de php, en hotmail me los manda a no deseado (ultimamente ni a no deseado llegan), decidi usar la funcion phpmailer... No me anda... :P Intente con varios codigos en diferentes formas pero no puede lograr ni que me los mande... en algunos metodos me tira warning y errores y en otros queda cargando pero no hace nada...

les muestro el ultimo que probe que lo saque de una pagina, que a todos los que comentaron les anduvo...

ah... tengo dos servidores smtp, gmail y hotpop y con los dos me hace lo mismo.. me imagino que debe ser algo de configuracion.

Código:
<?
  // primero hay que incluir la clase phpmailer para poder instanciar
  //un objeto de la misma
  require "includes/class.phpmailer.php";

  //instanciamos un objeto de la clase phpmailer al que llamamos 
  //por ejemplo mail
  $mail = new phpmailer();

  //Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto mail

  //Con PluginDir le indicamos a la clase phpmailer donde se 
  //encuentra la clase smtp que como he comentado al principio de 
  //este ejemplo va a estar en el subdirectorio includes
  $mail->PluginDir = "includes/";

  //Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  $mail->Mailer = "smtp";

  //Asignamos a Host el nombre de nuestro servidor smtp
  $mail->Host = "smtp.gmail.com";

  //Le indicamos que el servidor smtp requiere autenticación
  $mail->SMTPAuth = true;

  //Le decimos cual es nuestro nombre de usuario y password
  $mail->Username = "[email protected]"; 
  $mail->Password = "*******";

  //Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  $mail->From = "[email protected]";
  $mail->FromName = "Danilo";

  //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
  //una cuenta gratuita, por tanto lo pongo a 30  
  $mail->Timeout=30;

  //Indicamos cual es la dirección de destino del correo
  $mail->AddAddress("[email protected]");

  //Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  $mail->Subject = "Prueba de phpmailer";
  $mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";

  //Definimos AltBody por si el destinatario del correo no admite email con formato html 
  $mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";

  //se envia el mensaje, si no ha habido problemas 
  //la variable $exito tendra el valor 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";
   } 
?>
obviamente esta includa la libreria...que se incluye con el require y donde declaro el port 567, creo que es el de gmail y 25 el hotpop.

la Web de donde lo saque es esta[url=]Esta[/url]

en este ejemplo se me queda cargando... y no hace nada...

alguno tiene alguno que funcione o explicarme porque no me anda...

GRACIAS