Programación Web

Cómo enviar un email desde Bonfire (Codeigniter)

Aunque hasta ahora nunca hemos hablado de Bonfire, sí lo hemos hecho de Codeigniter. Presentamos rápidamente qué es Bonfire y vamos al lío de enviar un email desde el mismo.

¿Qué es Bonfire 🔥?

(Lo de la llamita es porque Bonfire significa «hoguera» en inglés)

Sencillo, Bonfire es un CMS open source para Codeigniter, extiende las funcionalidades más habituales de Codeigniter para ahorrarnos tiempo a los desarrolladores. Personalmente una de las cosas que más interesan de Bonfire es que los modelos ya vienen con los métodos típicos preparados, como las inserciones o los find_by… echa un ojo a la documentación y si te gusta deja un comentario.

Visto, sigamos.

Enviando un email desde Bonfire Codeigniter

Esto es también ridículamente fácil, Bonfire integra una librería lista para enviar email. Para usarla sigue estos pasos:

  1. Ten listo un servidor de correo, como Postfix (damos por hecho que lo tienes, ya contaremos otro día cómo montar uno).
  2. Prepara el contenido para enviar, puede ser directamente un vista, es la forma buena de enviar emails sacándole jugo a la plataforma. Esta parte la obviamos, puede ser también un string.
  3. Carga la librería en el controlador, así:
    $this->load->library('emailer/emailer');
  4. También en el contraolado (sé que es obvio, no quiero ofender tu inteligencia) inserta un código como éste para enviar y manejar los posibles errores.
$data = array(
   'to' => $emailDestino,
   'subject' => 'Asunto',
   'message' => $contenido
);
if ($this->emailer->send($data))
{
   //Mensaje de confirmación de éxito
   Template::set_message('Se envió el mensaje!!', 'success');
}
else
{
   //Triste mensaje de error en el envio
   Template::set_message('Unable to send an email: '. $this->emailer->errors, 'error');
}

Algunas cosas a tener en cuenta son:

  • En la respuesta de la librería emailer podemos tener falsos mensajes de éxito, esto se debe a que se obtiene true siempre que el email se entrega al MTA, que no es lo mismo que decir que el MTA ha entregado el correo correctamente. Pero como esto ya depende del servidor de email queda fuera de nuestro alcance.
  • Template::set_message escribirá en la vista si está bien preparada para ello, si no, no, pero ésta es la forma correcta de hacerlo.
  • Ten cuidado con esto para evitar problemas de spam reporting en los ISPs, vaya, no dejes que se envíen muchos emails.

Y esto es todo. Espero que haya sido útil.

fruiz

Share
Publicado por
fruiz

Recent Posts

Cuánto CTR te quitan de verdad las AI Overviews: mídelo con tu propio Search Console

Los estudios públicos dicen una cosa y tu tráfico dice otra. Aquí tienes un método…

57 años atrás

Todo es un plugin: DeepSeek suelta su arnés de agentes y la capa intermedia se queda sin discurso

DeepSeek publicó el 13 de agosto su propio arnés de agentes, DeepSeek Harness (dsh para…

57 años atrás

¿Qué es el graph engineering? La explicación corta y la letra pequeña

Un compañero me mandó un tuit preguntando qué demonios era el graph engineering. Aquí va…

57 años atrás

Puse un llms.txt y me fui a los logs del servidor: esto es lo que pasó de verdad

Monté un llms.txt en un dominio propio y luego hice lo único que da respuestas…

57 años atrás

Dos años después del castigo a las secciones de cupones: quién cortó y quién sigue igual

En mayo de 2024 Google empezó a desindexar secciones enteras alojadas dentro de medios de…

57 años atrás

Un aparato sin pantalla: ¿dónde pones los diez resultados azules?

OpenAI prepara un altavoz sin pantalla para 2027. Sin pantalla no hay diez enlaces: hay…

57 años atrás