Saltar a: navegación, buscar

Envios mailing transaccionales


Revisión del 11:58 22 ene 2019 de Deneb (discusión | contribuciones) (Retorno)

Introducción

Los envíos de email transaccionales son envíos que se realizan automáticamente al ejecutarse una acción preestablecida. En esta documentación se detalla la integración que ha de realizar en su plataforma para poder utilizar este servicio. Será necesario:

  • Ser propietario de una base de datos.
  • Configurar una dirección de IP válida desde la que enviar los emails.
  • Configurar un dominio y una dirección de email desde la que enviar.
  • Integrar el código en su plataforma.

Bases de datos

Para poder realizar envíos transaccionales, debe ser propietario de, al menos, una base de datos (BBDD) en Mobeleader. Si no lo es, cree una base de datos en la sección Integración BBDD o consulte con su administrador. Introduzca los datos de su BBDD:

Crear bd.png

Una vez creada, podrá consultar las características de su BBDD desde la sección BBDD del Panel Mobeleader:

Mostrar bds.png

Configuración de IPs válidas

Si ya es propietario de una BBDD, lo siguiente que debe hacer es asociar una dirección IP a la BBDD que quiera usar como referencia. Esta dirección IP ha de coincidir con la dirección IP desde la que envíe el email transaccional, es decir, la dirección IP del servidor en el que se aloje el archivo desde el que se ejecute el envío.

Para asociar una IP a su base de datos, deberá hacerlo desde la sección IPs válidas del Panel Mobeleader. Se mostrará una lista con sus bases de datos (siempre y cuando haya creado una).

Tabla ips.png

Pulse el botón Añadir nueva IP e introduzca el valor de la dirección IP en el cuadro de texto.

Guardar ip.png

Una vez introducida la dirección IP, pulse el botón Guardar IP y ésta quedará asociada a la BBDD. Puede eliminar o cambiar el valor de cualquier dirección IP cuando lo desee.

Mensaje ip.png

Configuración del dominio y la dirección de email de envío

Para que el sistema reconozcan el email adress (dirección de email) desde el que quiera realizar sus envíos transaccionales, debe configurar al menos un dominio y asignar el email adress a ese dominio. Para crear el dominio, deberá hacerlo desde la sección Crear Dominio.

Dominio.png

Al asociar los senders externos al dominio, asegúrese de que al menos uno de ellos pueda realizar envíos transaccionales. Puede comprobar los tipos de envío de cada sender externo en la sección Senders externos.

Una vez tenga asociado el dominio a la BBDD, ha de asignar a ese dominio el email adress desde el cual realizar sus envíos transaccionales. Para crear y asignar el email adress, debe hacerlo desde la sección Crear Email.

Email.png

Al asociar el sender externo al email adress, asegúrese de que éste pueda realizar envíos transaccionales.

Integración del código en su plataforma

Una vez tenga la dirección IP, el dominio y el email configurados correctamente y asociados a una base de datos, deberá descargar el archivo Mobeleadermailing e implementarlo al archivo PHP desde el que quiera realizar el envío transaccional. Puede descargar el archivo desde aquí.

Para realizar el envío desde su archivo, cree un objeto de la clase MobeleaderMailing, añadiendo la cadena el código hash de la BBDD que vaya a utilizar como referencia en el constructor de la clase. Obtenga el código hash de la BBDD desde la sección IPs Válidas, pulsando en el icono Eye.png Ver Hash de la BBDD que corresponda.

Hash.png

Implemente el código de la siguiente manera:

include "mobeleadermailing.php";
$mobeleaderMailing = new MobeleaderMailing('bbdd_hash');

Establezca una etiqueta o tag al objeto MobeleaderMailing. El tag indicará el tipo de email que desea enviar. Puede establecer el tag que desee para cada envío o grupo de envíos:

$mobeleaderMailing->setTag('Replay to email');

Una vez creado el objeto MobeleaderMailing, tiene dos opciones para realizar los envíos: enviar mensajes en formato raw (raw message), o construir los mensajes con sus campos y enviarlos.

Envíos en formato raw

Para enviar un email en formato raw o raw message, utilice la función sendRaw( ) de la clase Mobeleadermailing. Envíe como argumento de la función la cadena completa del raw message. Puede hacerlo de la siguiente manera:

$rawMessageString = "Date: Mon, 21 Jan 2019 17:25:57 +0200
To: receiver@ receiverdomain.com
From: Mobeleader <tests@emails.mobilesender.com>
Reply-To: Mobeleader <tests@emails.mobilesender.com>
Subject: =?utf-8?Q?My subject?=
X-Mailer: PHPMailer 5.2.14 (https://github.com/PHPMailer/PHPMailer)
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary=\"b1_c9b653839eb515afdd16fd1670d086c5\"
Content-Transfer-Encoding: 8bit

This is my email in plain text

--b1_c9b653839eb515afdd16fd1670d086c5
Content-Transfer-Encoding: 8bit
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"><head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /></head><body><div>This is my email in HTML format</div></body></html>
--b1_c9b653839eb515afdd16fd1670d086c5--";

$message = $mobeleaderMailing->sendRaw($rawMessageString);

Envíos en formato array de campos

Para enviar un email construido con sus propios campos, utilice la función send( ) de la clase Mobeleadermailing. Debe crear un array con los campos del email como claves y un string por cada valor de los campos. Los campos a enviar serán los siguientes:

  • html: cadena del código HTML que desee mostrar como contenido del email.
  • txt: contenido del email en formato de texto plano.
  • subject: asunto del email.
  • from_name: alias o nombre de quien envía el email.
  • from_email: dirección de correo desde la que se envía el email.
  • to_email: dirección de correo a la que se envía el email.


Envíe el array construido como argumento de la función. Puede hacerlo de la siguiente manera:

$messageArray = array();
$messageArray['html'] = '<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"><head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /></head><body><div>This is my email in HTML format</div></body></html>';
$messageArray['txt'] = 'This is my email in plain text';
$messageArray['subject'] = 'My subject';
$messageArray['from_name'] = 'Mobeleader';
$messageArray['from_email'] = 'tests@emails.mobilesender.com';
$messageArray['to_email'] = 'receiver@receiverdomain.com';

$prueba = $mobeleaderMailing->send($messageArray);

Retorno

Tanto la función sendRaw( ) como send( ) devuelven un JSON con la información relativa al envío. Mostrará los siguientes campos:

  • mail_sent: indica si el email se ha enviado correctamente. Devolverá true en caso afirmativo, false en caso contrario.
  • error: indica si ha habido algún error en el envío.
  • info: si el email se ha enviado correctamente, se mostrará este campo con los datos del envío.


  • Ejemplo de retorno de un email enviado correctamente:


{
     "mail_sent":true,
     "info":{
          "subject":"My subject",
          "from_email":"tests@emails.mobilesender.com",
          "from_name":"Mobeleader",
          "to_email":"receiver@receiverdomain.com",
          "html":"<html><body><div>This is my email in HTML format<\/div><\/body><\/html>",
          "txt":"This is my email in plain text"
     },
     "error":"Not error found"
}


  • Ejemplo de retorno de un email no enviado:


{
     "mail_sent":false,
     "error":"Client refused. Incorrect data base hash."
}