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
<html> <head> <?php require("Envio_Correo.php"); ?>
Código HTML:
Ver original
Código PHP:
<<<<<< Envio_Correo.php >>>>>Ver original
<?php global $array; $correo = $_POST['texto']; $asunto = $_POST['asunto']; $msn = $_POST['mensaje']; $array[] = $correo; $email = new Envio_Correo(); $email->Mensaje_asunto($asunto); $email->Mensaje_factura($msn); $email->Agregar_direcciones($array); $email->Send(); } ?>
Código PHP:
Ver original
<?php require "class.phpmailer.php"; class Envio_Correo { public $array_direcciones ; public $error = ""; public $mail = null; function __construct(){ $this->mail->PluginDir = ""; //"includes/"; $this->mail->Mailer = "smtp"; $this->mail->Host = "mx1.hostinger.co"; $this->mail->SMTPAuth = true; $this->mail->Password = "123456"; $this->mail->Port = 2525; $this->mail->FromName = "Web Ecommerce.."; // $mail->Subject = ""; // $mail->Body =""; // $mail->AddAddress = ""; $this->mail->AltBody ="Mensaje de prueba mandado con phpmailer en formato texto"; $this->mail->Timeout=120; } function Mensaje_asunto($msg){ $this->mail->Subject = $msg; } function Mensaje_factura($msg){ $this->Body = $msg; } function Mensaje_activacion($msg){ $this->Body = $msg; } function Mensaje_promosional($msg){ $this->Body = $msg; } function Mensaje_informativo($msg){ $this->Body = $msg; } function Agregar_direcciones($direcciones){ $this->$array_direcciones = $direcciones; } function Send(){ global $array_direcciones; $this->mail->AddAddress($valor); $exito = $this->mail->Send(); $intentos = 1; while((!$exito)&&($intentos<5)&&($this->mail->ErrorInfo!="SMTP Error: Data not accepted")){ //echo $mail->ErrorInfo; $exito = $this->mail->Send(); $intentos=$intentos+1; } if ($this->mail->ErrorInfo=="SMTP Error: Data not accepted") { $exito=true; $this->error[] = $this->mail->ErrorInfo; } if(!$exito){ echo "Problemas enviando correo electrónico a ".$valor; echo "<br/>".$this->mail->ErrorInfo; }else{ $mensaje="<p>Has enviado un mensaje a:<br/>"; $mensaje.=$valor." "; if ($archivo !="none") { $mensaje.="Con un fichero adjunto llamado ".$archivo_name; } $mensaje.="</p>"; echo $mensaje; } $this->mail->ClearAddresses(); } } function Listar_errores(){ return $this->$error; } } ?>