Hola usuario de nuestro sitio web, encontramos la solución a tu pregunta, desplázate y la verás más abajo.
Solución:
aquí hay una guía
1. instalación de PHP Mailer
Descargue la última compilación de PHPMailer de Github. Puedes encontrar el proyecto aquí
Haga clic ahora en “clonar o descargar” y descárguelo como zip, como se muestra en la imagen de abajo.
La carpeta en el zip se llama PHPMailer-master. Descomprima esto en su carpeta application / third_party / y cambie el nombre de la carpeta a phpmailer. Debería ver algo como esto
2. Biblioteca de correo de PHP
En mi humilde opinión, es mejor crear una biblioteca que maneje su objeto PHPMailer (Phpmailer_library.php) Esta biblioteca podría verse como
class Phpmailer_library
public function __construct()
log_message('Debug', 'PHPMailer class is loaded.');
public function load()
require_once(APPPATH."third_party/phpmailer/PHPMailerAutoload.php");
$objMail = new PHPMailer;
return $objMail;
3. Usando esta biblioteca en uno de sus controladores, modelos, etc.
class Welcome extends CI_Controller
public function index()
$this->load->library("phpmailer_library");
$objMail = $this->phpmailer_library->load();
Creo que esto debería hacer el trabajo. Si tiene algún problema, no dude en preguntar;)
Actualización 25.06.2018
Dado que los chicos de PHPMailer eliminaron el cargador automático, ahora tiene dos opciones:
1.) a través de Composer
para aquellos que no lo sabían, Codeigniter es compatible con Composer, simplemente tiene que activar la carga automática, puede encontrar esto en su config.php
$config['composer_autoload'] = true;
Para obtener más información, eche un vistazo aquí.
Después de eso, ejecuta el compositor como
composer require phpmailer/phpmailer
Ahora deberías tener dentro de tu application/vendor
carpeta el phpmailer
archivos.
La biblioteca debería verse como
class Phpmailer_library
public function __construct()
log_message('Debug', 'PHPMailer class is loaded.');
public function load()
$objMail = new PHPMailerPHPMailerPHPMailer();
return $objMail;
2.) descargar
sigue el paso 1
La biblioteca debería verse como
class Phpmailer_library
public function __construct()
log_message('Debug', 'PHPMailer class is loaded.');
public function load()
require_once(APPPATH.'third_party/phpmailer/src/PHPMailer.php');
require_once(APPPATH.'third_party/phpmailer/src/SMTP.php');
$objMail = new PHPMailerPHPMailerPHPMailer();
return $objMail;
y todo lo demás debería permanecer igual
**
ACTUALIZACIÓN AGOSTO 2019
**
Al principio, descargue los archivos de la biblioteca PHPMailer más recientes y coloque todos los archivos en la carpeta application / third_party / de su aplicación CodeIgniter.
Ahora, cree una biblioteca (aplicación / bibliotecas / Phpmailer_lib.php) para manejar el objeto PHPMailer.
- Incluya los archivos de la biblioteca PHPMailer.
- Inicialice la clase PHPMailer.
-
Devuelve el objeto PHPMailer.
use PHPMailerPHPMailerPHPMailer; use PHPMailerPHPMailerException; class PHPMailer_Lib public function __construct() log_message('Debug', 'PHPMailer class is loaded.'); public function load() // Include PHPMailer library files require_once APPPATH.'third_party/phpmailer/Exception.php'; require_once APPPATH.'third_party/phpmailer/PHPMailer.php'; require_once APPPATH.'third_party/phpmailer/SMTP.php'; $mail = new PHPMailer(true); return $mail;
Ahora envíe un correo electrónico a través del servidor SMTP usando PHPMailer desde su controlador usando este código.
class Email extends CI_Controller
function __construct()
parent::__construct();
function send()
// Load PHPMailer library
$this->load->library('phpmailer_lib');
// PHPMailer object
$mail = $this->phpmailer_lib->load();
// SMTP configuration
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = '********';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->setFrom('[email protected]', 'CodexWorld');
$mail->addReplyTo('[email protected]', 'CodexWorld');
// Add a recipient
$mail->addAddress('[email protected]');
// Add cc or bcc
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');
// Email subject
$mail->Subject = 'Send Email via SMTP using PHPMailer in CodeIgniter';
// Set email format to HTML
$mail->isHTML(true);
// Email body content
$mailContent = "Send HTML Email using SMTP in CodeIgniter
This is a test email sending using SMTP mail server with PHPMailer.
";
$mail->Body = $mailContent;
// Send email
if(!$mail->send())
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
else
echo 'Message has been sent';
Recuerda que puedes dar difusión a esta noticia si te valió la pena.