En este artículo aprenderéis a validar email php. La validación es muy sencilla, se realiza a través de una llamada REST a la API de verificaremails. Existen multitud de scripts que dicen validar un email, pero la gran mayoria solo realiza una validación sintáctica o comprueba si el dominio esta activo. Nuestra API de validación de emails realiza más de 25 test para deterninar si una dirección de emails es válida.
El primer paso que debemos dar para validar email php es crear una cuenta en Verificaremails.com, la creación de la cuenta es gratuita y dispones de 100 validaciones gratis.
El servicio de validar email funciona a través de su interfaz Web, subiendo un fichero al sistema que es validado, o podemos crear una API para validar emails en tiempo real.
Validar email en tiempo real
Para crear una nueva api, seleccionamos en el menú de la izquierda “API” y hacemos click en “Nueva API”.
Automáticamente se creará una nueva instancia.
Si seleccionamos “Editar” entraremos en la instancia. Podemos ver los mails validados, cuántos de ellos son correcto y en que fechas se han producido las validaciones.
Cómo validar email php
En la parte inferior de la página de “Configuración del API” veremos la clave del API que debemos utilizar en las llamadas, así como un ejemplo de código.
Si seleccionamos la opción “validar email php” veremos el código que debemos utilizar:
$email = "[email protected]";
$key = "PUT YOUR API KEY HERE";
$url = "https://app.verificaremails.com/api/verifyEmail?secret=".$key."&email=".$email;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
$response = curl_exec($ch);
echo $response;
curl_close($ch);
La llamada es muy simple, tan solo tenemos que invocar nuestra llamada CURL, concatenando el API de nuestra API con la dirección de email que queremos validar.
Esta misma llamada la podemos realizar desde un navegador abriendo la dirección:
https://app.verificaremails.com/api/verifyEmail?secret=”.$key.”&email=”.$email;
El procesado de la respuesta de validar email php es simple. Si la dirección de email es correcta, retorna “OK” de lo contrario obtenemos “Fail” para las direcciones incorrectas o “Unknown” para aquellas direcciones de correo que no podemos validar con certeza.
El proceso de validar email PHP es rápido, de media suele tardar 2-3 segundos en validar una dirección de email. Este tipo de verificación es muy útil si queremos evitar realizar doble “opt-in” en el proceso de registro (la utilización de op-in aunque valida de forma fehaciente las direcciones de email registradas reduce los índices de conversión).
Al validar las direcciones de email evitamos que entren en nuestros sistemas direcciones no válidas, esto es muy importante en e-commerce, evitando perder el contacto con nuestros usuarios.
Cómo validar email PHP en modo bulk
La principal limitación de la validación en tiempo real de emails es la velocidad, si solo tenemos que validar unas pocas direcciones de emails, la velocidad de 2-3 segundos es suficiente, pero si queremos validar miles de direcciones de correo este mecanismo es lento.
Para solucionar esta limitación, hemos creado un método para validar email PHP mediante bulk, en lugar de enviar una única dirección de email en la llamada CURL, enviamos un fichero CSV con todas las direcciones de email que queremos validar.
Al disponer de todas las direcciones de email, podemos lanzar un proceso de validación de email en paralelo en modo concurrente. En pocos segundos obtenemos la validación del fichero completo.
Os adjunto la llamada
$key = "PUT YOUR API KEY HERE";
$settings['file_contents'] ="@/home/Downloads/emails.txt"; //path to your file
$url = 'https://app.verificaremails.com/api/verifyApiFile?secret='.$key.'&filename=my_emails.txt';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $settings);
$file_id = curl_exec($ch); //you need to save this FILE ID for get file status and download reports in future
curl_close($ch);
Para obtener los resultados de la validación, debeos realizar una nueva llamada con el id del fichero que acabamos de validar:
$key = "PUT YOUR API KEY HERE";
$url = 'https://app.verificaremails.com/api/getApiFileInfo?secret='.$key.'&id=10700';
$string = file_get_contents($url);
list($file_id,$filename,$unique,$lines,$lines_processed,$status,$timestamp,$link1,$link2) = explode('|',$string); //parse data
Utilizando los servicios para validar email en php podéis verificar de forma rápida y eficiente la calidad de vuestras direcciones de email.
Evitar que vuestros usuarios introduzcan direcciones erróneas en vuestro sistema al darse de alta en un formulario, e-commerce, registro… y perder así la capacidad de contactar con ellos.
Si necesitas más información sobre el servicio de validación, Cómo interpretra los resultados de verificar emails de emails podéis visitar la Web Verificaremails.com