Hoy en día, casi todos los frameworks PHP soportan una biblioteca de gestión de correo electrónico bien desarrollada. CodeIgniter no es diferente, ya que tiene una gran clase de envío de correo electrónico que garantiza que los proyectos CodeIgniter puedan enviar correos electrónicos sin dificultad.
Este artículo describirá cómo enviar correos electrónicos en una aplicación CodeIgniter utilizando SMTP. Utilizaré la conocida y mantenida clase de envío de correos electrónicos.
Cargar la clase de correo electrónico de CodeIgniter
En primer lugar, carga la biblioteca de correo electrónico de CodeIgniter mediante el siguiente fragmento de código:
$this->carga->biblioteca('email');
Establecer parámetros de correo electrónico
El siguiente paso es configurar los campos necesarios para el correo electrónico personalizado. Estos campos pueden configurarse mediante varias funciones, entre ellas la función from() toma dos parámetros: la dirección de correo electrónico del remitente y el nombre. la función to() toma la dirección de correo electrónico del destinatario. Las dos funciones siguientes, subject() y message(), completan los requisitos para enviar correos electrónicos en CodeIgniter. He aquí cómo se utilizan estas funciones en el código:
$this->correo electrónico->de('[email protected]', 'Identificación');
$this->correo electrónico->a('[email protected]');
$this->correo electrónico->subject('Enviar correo electrónico Codeigniter');
$this->correo electrónico->message('El correo electrónico se envía utilizando la biblioteca codeigniter');
Deja de perder el tiempo con los servidores
Cloudways se encarga de la gestión del servidor por ti para que puedas centrarte en crear grandes aplicaciones y mantener contentos a tus clientes.
Una vez rellenadas estas funciones, el paso final es enviar el correo electrónico utilizando la función send().
$this->correo electrónico->enviar();
Crear el controlador
Crea un archivo controlador Sendingemail_controller.php y guárdalo en application/controller/. Añade el siguiente código a este archivo:
<?php
class Controlador_de_envío_Correo extends Controlador_CI {
función __construct() {
padre::__construct();
$this->carga->biblioteca('sesión');
$this->carga->ayudante('formulario');
}
función pública index() {
$this->carga->ayudante('formulario');
$this->carga->view('formulario_email_contacto');
}
función pública send_mail() {
$correo_desde = "[email protected]";
$a_email = $este->entrada->post('email');
/Cargar biblioteca de correo electrónico
$this->carga->biblioteca('email');
$this->correo electrónico->from($correo_de_from, 'Identificación');
$this->correo electrónico->to($a_email);
$this->correo electrónico->subject('Enviar correo electrónico Codeigniter');
$this->correo electrónico->message('El correo electrónico se envía utilizando la biblioteca codeigniter');
//Enviar correo
if($this->correo electrónico->enviar())
$this->sesión->set_flashdata("email_enviado", "Envío correcto del correo electrónico de la Congragulación");
si no
$this->sesión->set_flashdata("email_enviado", "Has encontrado un error");
$this->carga->view('formulario_email_contacto');
}
}
?>
Crear la vista
Crea un archivo de vista llamado contact_email_form.php y guárdalo en aplicación/vistas/. Añádele el código siguiente
<html>
<cabeza>
<título> Enviar Email Codeigniter </title>
</head>
<cuerpo>
<?php
echo $esto->sesión->flashdata('email_enviado');
echo form_open('/Controlador_de_envío_de_correo');
?>
<input type = "email" name = "email" required />
<input type = "submit" value = "ENVIAR CORREO">
<php
echo form_close();
?>
</body>
</html>
Realiza los cambios en el archivo routes.php en application/config/routes.php y añade la siguiente línea al final del archivo:
$route['email'] = 'Controlador_Correo';
Acceder a la aplicación de correo electrónico
Por último, pulsa la siguiente URL para acceder a la aplicación:
http://your-domain.com/index.php/email
Establecer la configuración SMTP
Como ya hemos mencionado, CodeIgniter es totalmente compatible con diferentes protocolos de correo electrónico, incluido SMTP, mediante sencillas opciones de configuración.
Como puedes ver en el siguiente fragmento de código, seleccionar el protocolo de correo electrónico es cuestión de establecer una única variable de configuración. En este fragmento de código, he establecido $config[‘protocolo’] en SMTP para utilizar el protocolo SMTP.
<?php
$this->carga->biblioteca('email');
$config = array();
$config['protocolo'] = 'smtp';
$config['smtp_host'] = 'xxx';
$config['smtp_user'] = 'xxx';
$config['smtp_pass'] = 'xxx';
$config['smtp_port'] = 25;
$this->correo electrónico->inicializar($config);
$this->correo electrónico->set_newline("\r\n");
Resumen
Añadir funcionalidad de correo electrónico a las aplicaciones CodeIgniter desplegadas en cualquier alojamiento Web para PHP es muy sencillo con la biblioteca de correo electrónico. Todo lo que tienes que hacer es establecer unas pocas variables, y el correo electrónico estará configurado. Si necesitas ayuda para enviar correos electrónicos en tus aplicaciones CodeIgniter, deja un comentario más abajo, y me pondré en contacto contigo.
Start Growing with Cloudways Today.
Our Clients Love us because we never compromise on these
Hani Shoaib
Hani es Directora Senior de Marketing de Producto en Cloudways, con más de 3 años de experiencia en cloud hosting y marketing SaaS. Está especializada en traducir conceptos técnicos complejos en narrativas convincentes que resuenen en agencias, desarrolladores y empresas. Apasionada por ayudar a las empresas a ampliar su presencia digital, Hani aporta un enfoque estratégico al posicionamiento del producto, las estrategias de salida al mercado y la formación de los clientes.