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

Spec-driven development: el contrapeso disciplinado al vibe coding

El desarrollo con IA se ha dividido en dos campos: el vibe coding rápido y…

57 años atrás

Tres skills que le enseñan a Claude Code a no diseñar feo

Emil Kowalski, Impeccable y Taste Skill: tres skills externas que le dan vocabulario visual concreto…

57 años atrás

Cómo identificar una agencia Shopify técnica de verdad (y no una agencia de marketing disfrazada)

El mercado español de agencias Shopify está lleno de agencias de marketing que tocan Shopify…

57 años atrás

Vi un sitemap_agentic_discovery.xml en una tienda Shopify y ya no puedo desverlo

Una tienda española está exponiendo tres archivos pensados para agentes de IA y un sitemap…

57 años atrás

Claude Code Routines: Anthropic acaba de darle un turno de noche a tu IDE

Anthropic lanzó Routines en Claude Code el 14 de abril de 2026. Tu agente IA…

57 años atrás

¿Sabías que tu web de WordPress carga 2 MB de CSS que no usa? Bienvenido a los page builders

Abre Chrome DevTools en cualquier web hecha con Elementor y mira la pestaña Coverage. Entre…

57 años atrás