Cómo mandar emails con Mandrill API

Tutorial paso a paso para mandar emails con la API de Mandrill.

En este artículo voy a mostrarte cómo lanzar un mailing en php mediante la API de Mandrill. Comentar, por si no lo sabías, que con la API php de Mandrill podremos lanzar mails de forma masiva para servicios, por ejemplo, de newsletter, sin sufrir penalizaciones de SPAM por parte de los servidores de correo de todo el mundo.

Antes de meternos de lleno en el proceso me gustaría decir que voy a incluirte el código completo de la integración a parte de explicaciones y otros datos que son necesarios tanto si eres un programador avezado como un neófito en el mundo del desarrollo web PHP. Trataré los siguientes puntos:

  • Qué es y para qué sirve la API de Mandrill.
  • Cuáles son las principales características de esta API php y por qué lo son.
  • Cómo obtener los datos de configuración de la API.
  • Y por último ejemplos de la integración con esta librería y como comenzar a mandar emails en nuestro desarrollo backend PHP.

¿Qué es Mandrill?

No me gustaría adentrarme en los entresijos de la API de este servicio online sin antes hacer una breve introducción de qué hace exactamente.

Mandrill no es otra cosa que un servicio online de pago para generar envios transaccionales por correo electrónico. Además debes saber que es un servicio para los clientes con suscripción de Mailchimp, por lo tanto, sin una suscripción, no se podrá hacer uso de Mandrill (esto incluye también su API).

Sus precios no son demsiado elevados, y con tan solo 20$ podremos enviar nada más y nada menos que hasta 25 mil correos electrónicos. 

Mandrill se suele utilizar para e-commerce, pero también se puede utilizar para envíos de emails únicos, es decir, con un único destinatario.

 

¿Para qué sirve la API de Mandrill?

La API de Mandrill nos permite hacer mailings masivos a través de nuestra programación web. Incluye funciones para almacenar y hacer uso de usuarios, listas negras de emails, mensajes y mucho más.

Aunque en este tutorial solo voy a exponerte un ejemplo de PHP también existen integraciones para Ruby, JSON, python y más.

Usar la API de Mandrill es fácil y solo requerirá de unos pequeños pasos antes de empezar a lanzar tus mailings integrados.

Intalación de la API de mandrill

Para la instalación de Mandrill voy a proporte hacer uso de Composer, si no sabes lo que es te recomiendo que visites mi artículo sobre su uso: cómo utilizar composer.

El comando de composer para instalar en nuestra aplicación es: 

composer require mandrill/mandrill

Cómo ya sabes este comando configura la librería en nuestra carpeta vendor para empezar a trabajar con la API de Mandrill.

Usar Mandrill en PHP sin composer

Si no quieres utilizar composer para instalar la librería, puedes hacer uso de ella descargando, desde su repositorio, los ficheros php e incluirlos en tu script php. Repositorio bitbucket de Mandrill API

Conseguir la API key de Mandrill

Antes de empezar a enviar correos con la API de mandrill debes de tener una key para este fin. Puedes obtener esta key directamente desde la web de MailChimp dirigiendote a la sección de Mandrill:

  1. Haz login en la web de MailChimp.
  2. Accede a la sección de tu Perfil.
  3. Pincha en la sección de transaccional.
  4. Haz click en empezar o "get started".
  5. Dirígete a settings y pincha en SMTP & API info.
  6. Pincha en New API Key.
  7. Copia la clave en la siguiente función PHP que te propongo.

Snippet PHP para mandar mails con Mandrill

Si has cumplido con los apartados anterior, ya solo queda que veas el código php necesario para empezar a realizar mailing masivo con Mandrill.

La siguiente función es un ejemplo sencillo de uso pero totalmente preparada para mandar tu primer correo con la API. Recuerda que deberás realizar algunos cambios para que sea totalmente funcional con tus datos.

function mail_mandrill( $to_email, $asunto, $mensaje ) {
	$apikey = 'XXXXXXXXXX'; //aquí debes indicar tu api key de mandrill
	$mandrill = new Mandrill($apikey);

	$message = new stdClass();
	$message->html = $mensaje;
	$message->text = $mensaje;
	$message->subject = $asunto;
	$message->from_email = "mandrill@srcodigofuente.es";//Email del remitente
	$message->from_name  = "Sr. Código";//Nombre del remitente
	$message->to = array( array( "email" => $to_email ) );
	$message->track_opens = true;

	$response = $mandrill->messages->send($message);
}

En esta función debes de sustituir 3 datos para hacerla funcionar:

  1. Pega tu clave de la API de Mandrill dónde te indico en la línea 2 del script.
  2. Indica un email válido de remitente y un nombre en las líneas 9 y 10.

Por último, no olvides que debes de incluir (require) la librería de Mandrill, ya sea mediante el autoload de composer o requiriendo el fichero principal de la API en el script. 

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.