Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2014, 22:09
andres18281
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 2 meses
Puntos: 0
PhpMailer problemas de envio

Cordial Saludo, no he podido enviar correos por PhpMailer, la verdad no se que es lo que esta sucediendo les pido su colaboracion pues lo pruebo y modifico aqui, alla pero no lo consigo, el codigo phpMailer es el mismo que todos descargamos asi que no lo anexe.

Anexo un codigo de prueba con un formulario sencillo de Correo, Asunto y Mensaje, en el segundo script esta el codigo con las configuraciones que tengo en hostinger, aclaro que la contraseña la cambie para efecto de seguridad mia.
El codigo funciona si le quito los function y que solo quede en variables pero seria de gran ayuda tenerlo como debe ser, en funciones para su implementacion.

Gracias a todos

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <?php
  4. require("Envio_Correo.php");
  5. ini_set("display_errors", 1);
  6.  
  7.  ?>
Código HTML:
Ver original
  1. </head>
  2.     <body>
  3.         <form action="" method="POST">
  4.        <!-- <ul>
  5.            <li> -->
  6.         <label> Emails </label>
  7.         <input type="text" name="texto" ></input>
  8.            <!-- </li>
  9.            <li> -->        
  10.         <label> Asunto </label>
  11.         <input type="text" name="asunto"></input>
  12.            <!-- </li>
  13.            <li>-->        
  14.         <label> Mensaje </label>
  15.         <input type="text" name="mensaje"></input>
  16.         <input type="submit"  name="btn_enviar" value="Agregar Correos" ></input>  
  17.          <!-- </li>        
  18.        </ul> -->        
  19.         </form>
  20.     </body>


Código PHP:
Ver original
  1. <?php
  2.  
  3.             if(isset($_POST['boton'])){
  4.                 global $array;
  5.                 $correo = $_POST['texto'];
  6.                 $asunto = $_POST['asunto'];
  7.                 $msn = $_POST['mensaje'];
  8.                 $array[] = $correo;
  9.                 $email = new Envio_Correo();
  10.                 $email->Mensaje_asunto($asunto);
  11.                 $email->Mensaje_factura($msn);
  12.                 $email->Agregar_direcciones($array);  
  13.                 $email->Send();  
  14.                 echo var_dump($email->Listar_errores());
  15.  
  16.                
  17.             }
  18.  
  19.            
  20.         ?>
<<<<<< Envio_Correo.php >>>>>
Código PHP:
Ver original
  1. <?php
  2. require "class.phpmailer.php";
  3.  
  4.     class Envio_Correo {
  5.  
  6.        public $array_direcciones ;
  7.        public $error = "";
  8.        public $mail = null;
  9.        function __construct(){  
  10.         $this->mail = new phpmailer();
  11.         $this->mail->PluginDir = ""; //"includes/";
  12.         $this->mail->Mailer = "smtp";
  13.         $this->mail->Host = "mx1.hostinger.co";
  14.         $this->mail->SMTPAuth = true;
  15.         $this->mail->Username = "[email protected]";
  16.         $this->mail->Password = "123456";
  17.         $this->mail->Port = 2525;
  18.         $this->mail->From = "[email protected]";
  19.         $this->mail->FromName = "Web Ecommerce..";
  20.      // $mail->Subject = "";
  21.   //    $mail->Body ="";
  22.     //  $mail->AddAddress = "";
  23.         $this->mail->AltBody ="Mensaje de prueba mandado con phpmailer en formato texto";
  24.        
  25.         $this->mail->Timeout=120;
  26.        
  27.        }
  28.         function Mensaje_asunto($msg){
  29.             $this->mail->Subject = $msg;
  30.         }
  31.  
  32.         function Mensaje_factura($msg){
  33.             $this->Body = $msg;
  34.         }
  35.      
  36.         function Mensaje_activacion($msg){
  37.             $this->Body = $msg;
  38.         }
  39.  
  40.         function Mensaje_promosional($msg){
  41.             $this->Body = $msg;
  42.         }
  43.  
  44.         function Mensaje_informativo($msg){
  45.             $this->Body = $msg;
  46.         }
  47.  
  48.         function Agregar_direcciones($direcciones){
  49.            $this->$array_direcciones = $direcciones;
  50.         }
  51.  
  52.         function Send(){
  53.           global $array_direcciones;
  54.           reset($this->array_direcciones);
  55.           while (list($clave, $valor)=each($this->array_direcciones)) {
  56.             $this->mail->AddAddress($valor);
  57.             $exito = $this->mail->Send();
  58.             $intentos = 1;
  59.             while((!$exito)&&($intentos<5)&&($this->mail->ErrorInfo!="SMTP Error: Data not accepted")){
  60.               sleep(5);
  61.               //echo $mail->ErrorInfo;
  62.               $exito = $this->mail->Send();
  63.               $intentos=$intentos+1;      
  64.             }
  65.             if ($this->mail->ErrorInfo=="SMTP Error: Data not accepted") {
  66.               $exito=true;
  67.               $this->error[] = $this->mail->ErrorInfo;
  68.             }
  69.             if(!$exito){
  70.               echo "Problemas enviando correo electrónico a ".$valor;
  71.               echo "<br/>".$this->mail->ErrorInfo;
  72.             }else{
  73.               $mensaje="<p>Has enviado un mensaje a:<br/>";
  74.               $mensaje.=$valor." ";
  75.               if ($archivo !="none") {
  76.                 $mensaje.="Con un fichero adjunto llamado ".$archivo_name;
  77.               }
  78.               $mensaje.="</p>";
  79.                 echo $mensaje;
  80.             }
  81.               $this->mail->ClearAddresses();
  82.           }
  83.       }
  84.       function Listar_errores(){
  85.         return $this->$error;
  86.       }
  87.   }
  88.      
  89.    
  90.    
  91.  
  92.    
  93. ?>