Emails

Helper con funciones auxiliares para tratamiento de cadenas emails.

send_mail()

Se encarga de enviar un correo electrónico utilizando la librería PHPMailer, recibe cinco parámetros y dos de ellos son opcionales.

El primer parámetro es un arreglo asociativo con la información de los destinatarios, la forma del mismo es un arreglo asociativo donde los índices asociativos son los emails y los valores corresponden a los nombres de cada uno.

# En caso de que sea un solo destinatario, basta con solo colocar un elemento en el arreglo respetando la estructura.
$ejemplo_del_arreglo = array(
 'usuario1@email.com' => 'Usuario 1',
 'usuario2@email.com' => 'Usuario 2',
 'usuario3@email.com' => 'Usuario 3',
);

El segundo parámetro es un string que acepta HTML para enviar el correo, es el contenido del correo a enviar.

El tercer parámetro es el asunto del correo a enviar.

El cuarto parámetro es un valor booleano, opcional, por defecto tiene como valor true, esto quiere decir que si está en true el correo se enviará utilizando una conexión SMTP a algún servidor SMTP, cuyos datos de acceso se configuran desde config.php, en caso de establecer este parámetro como false, se utilizará la función mail() que asume como servidor de correo el propio servidor en donde corre la aplicación, en general es más rápida la conexión así, pero en localhost no funciona sin previa configuración.

El quinto parámetro se utiliza para establecer adjuntos que se quieran enviar con el correo, es un parámetro opcional, si no se pasa nada por aquí, no se enviará ningún adjunto. Para enviar uno o más adjuntos, basta con pasar un arreglo que tenga en cada posición, la ruta en el servidor del archivo a enviar.

$ejemplo_arreglo_adjuntos = array(
 'ruta archivo 1',
 'ruta archivo 2'
);

Para enviar un correo, bastaría con establecer algo como esto:

Helper::load('emails');
$dest['usuario1@gmail.com'] = 'Usuario 1';
$email = Emails::send_mail($dest,'<b>Hola usuario 1</b>','El Asunto');
if(true === $email) {
  # Sí se envió el correo...
} else {
  # No se envió, entonces $email contiene un string con información del motivo por el cual no se envió
}

La función retorna true cuando el correo fue enviado correctamente, si no ha sido así, retornará un string con información acerca del error informado por PHPmailer.

plantilla()

Ofrece una plantilla sencilla amigable que contiene compatibilidad con bootstrap, de uso frecuente para mandar correos electrónicos sin muchos detalles pero presentables. Recibe un único parámetro, y es un string que acepta HTML.

Se hace uso de esta función en ./core/models/Lostpass.php, donde se envía un correo electrónico al usuario que solicita recuperar la contraseña.

Helper::load('emails');
$dest[$mail] = $user[0]['nombre'];
$email = Emails::send_mail($dest,Emails::plantilla($HTML),'Recuperar contraseña perdida');

Retorna un string HTML con la forma:

<html>
    <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
    </head>
    <body style="font-family: Verdana;">
      <section>
        CONTENIDO PASADO POR EL PARÁMETRO
      </section>
    </body>
</html>