Учебное пособие по проверке электронной почты PHP с использованием API почтового ящика онлайн урок.


Что такое MailboxValidator?

MailboxValidator - это API проверки подлинности электронной почты & nbsp; который можно использовать для проверки списков адресов электронной почты для идентификации неверных или, возможно, неправильных адресов электронной почты.

MailboxValidator использует проверки SMTP и проверки на основе синтаксиса для идентификации недопустимых адресов электронной почты. Он также предлагает службу API, которая может использоваться для динамического подтверждения одного адреса электронной почты.

API может возвращать результаты в формате XML или JSON. Далее мы обсудим, как использовать этот API в PHP.

Зачем использовать API проверки электронной почты?

API проверки подлинности электронной почты может использоваться, чтобы избавиться от недействительных адресов электронной почты из списка электронной почты, что, в свою очередь, может снизить показатель отказов ваших почтовых рассылок.

Использование API проверки подлинности электронной почты может повысить эффективность доставки электронной почты, репутацию и эффективность кампаний электронной почты. Поскольку отправка электронной почты на недействительные адреса может повредить вашу репутацию, API проверки подлинности электронной почты может предотвратить это и снизить риск того, что ваш адрес электронной почты будет занесен в черный список.

Это еще больше поможет вам избежать неудобных пользователей и увеличить успех вашей рассылки, доходя до реальных реальных клиентов. & Nbsp;Здесь мы поговорим о том, почему MailboxValidator является хорошим выбором для API проверки подлинности электронной почты.

Особенности

MailboxValidator поставляется со многими замечательными функциями.& nbsp; В этой статье представлены некоторые из ключевых функций, которые могут оказать большую помощь при проверке писем. От простой проверки синтаксиса, проверки SMTP и проверки Greylist. & Nbsp;Ниже приведены некоторые из ключевых функций, которые интегрированы в MailboxValidator.

Проверка синтаксиса электронной почты

Проверка синтаксиса электронной почты может использоваться для определения того, является ли синтаксис адреса действительным или нет в соответствии с действующими стандартами IETF. Эта функция позволяет отсортировать полностью недействительные адреса электронной почты, что, в свою очередь, может уменьшить количество других проверок, которые понадобятся для проверки правильности адреса электронной почты.

MX Record Checker

MX Records можно использовать для определения наличия SMTP-сервера для домена, к которому принадлежит адрес электронной почты. Это может помочь в сортировке адресов электронной почты, у которых даже нет допустимого почтового сервера. Потому что, если почтовый сервер не получает электронные письма, в чем смысл их отправки.

MX Server Connection Checker

После того, как мы проверили записи MX и знаем, что для адреса электронной почты существует SMTP-сервер, we теперь установит соединение с этим сервером, чтобы узнать, доступен ли он или нет,

Это часто бывает точным, но в некоторых случаях почтовый сервер по-прежнему не может принимать сообщения на данный адрес. Но есть и другие проверки, чтобы убедиться, что нет ложного адреса электронной почты.

Бесплатная или одноразовая проверка поставщика электронной почты

Эта проверка используется для определения того, принадлежит ли предоставленный адрес электронной почты некоторому бесплатному или одноразовому поставщику услуг электронной почты.

Бесплатные поставщики электронной почты, например. Gmail, Yahoo и т. Д. Или одноразовые почтовые провайдеры (DEA), такие как Mailinator, 10-минутная почта или 20-минутная почта и т. Д., Должны быть пропущены при отправке писем по различным причинам. DEA отклоняются, поскольку они являются временными, анонимными и иногда связаны с мошеннической деятельностью.

При отправке писем на бесплатные адреса электронной почты обычно нормально, для определенных кампаний электронной почты может быть лучше исключить эти адреса электронной почты, чтобы уменьшить показатель отказов.

Единый API проверки

MailboxValidator также предоставляет API единой проверки, который можно использовать для немедленного подтверждения одного адреса электронной почты и возврата результатов в JSON или XML. & Nbsp;MailboxValidator предоставляет оболочки для этого API в 7 разных языках программирования.

Как это работает?

Теперь первая проверка - проверить, имеет ли адрес электронной почты правильный синтаксис, потому что если синтаксис недействителен, то выполнение других проверок бесполезно.

После синтаксиса очищается, затем приходит интересная часть, проверка, чтобы проверить, является ли домен адреса действительным и является частью до `@` допустимого почтового ящика на этом сервере.

Это работает на сервере, проверяя, существуют ли домены, и настроен ли он принимать электронные письма, если это так, то отправляется запрос на проверку почтового ящика. Эта часть не проверяется, отправив электронное письмо на адрес, но отправив запрос непосредственно на почтовый сервер.

Использование API

Теперь идет самая важная часть статьи: примеры для& nbsp;единственный API проверки подлинности (SVA).

Mailboxvalidator PHP Wrapper

В этой части мы будем специально использовать оболочку PHP для SVA. Он предоставляется MailboxValidator и доступен через композитора. Его можно установить с помощью следующей команды:

composer require mailboxvalidator mailboxvalidator-php

Это добавит следующее внутри `composer.json`:

& nbsp; & NBSP; {
& nbsp; & NBSP; & NBSP; & NBSP; «require»: {
& nbsp; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "mailboxvalidator mailboxvalidator-php": "^ 1.0"
& nbsp; & NBSP; & NBSP; & NBSP;}
& nbsp; & NBSP;}

И он создает путь `mailboxvalidator \ mailboxvalidator-php` внутри каталога поставщика. Эта оболочка является автономной библиотекой и не имеет зависимостей.

Теперь, когда это невозможно, мы можем начать с фактического кода. Создайте `index.php` в том же каталоге, где вы запустили команду` composer`. И добавьте следующий код внутри файла:

& lt;? Php
include 'vendor autoload.php';
использовать MailboxValidator \ SingleValidation;
$ validator = new SingleValidation ('YOUR_API_KEY_HERE');
$ results = $ validator- & gt; ValidateEmail ('example@example.com');

Теперь в приведенном выше коде, как вы можете видеть, в первую очередь мы включаем автозагрузчик композитора. Которая автоматически загружает библиотеку MailboxValidator в наш код, и мы можем получить доступ к этой библиотеке, используя соответствующее пространство имен, которое в этом случае является MailboxValidator. И в этом пространстве имен, это класс под названием SingleValidation. Мы создадим экземпляр этого в следующей строке.

Теперь не забудьте предоставить свойAPI KEYв этой строке. Вы можете получить свой ключ API из

_ на mailboxvalidator.com, но сначала вам придется подать заявку на план API. MailboxValidator предлагает несколько

API-планов

, включая бесплатный план, который предлагает 300 бесплатных вызовов API в месяц и может использоваться на сайтах с низким трафиком.

После того, как вы предоставили ключ API, ваша система проверки будет готова и готова, вам просто нужно предоставить электронное письмо, и оно немедленно вернет результаты проверки.& nbsp; Из приведенного выше примера, если мы будем var_dump () $ results. Мы получим аналогичный результат:объект(stdClass) [
2]& nbsp;public'email_address'= & gt;строка
'example@example.com'
(длина = 19)& nbsp;public'domain'= & gt;строка
'example.com'
(длина = 11)& nbsp;public'is_free'= & gt;строка
'Истина'
(длина = 4)& nbsp;public'is_syntax'= & gt;строка
'Истина'
(длина = 4)& nbsp;public'is_domain'= & gt;строка
'False'
(длина = 5)& nbsp;public'is_smtp'= & gt;строка
'-'
(длина = 1)& nbsp;public'is_verified'= & gt;строка
'-'
(длина = 1)& nbsp;public'is_server_down'= & gt;строка
'-'
(длина = 1)& nbsp;public'is_greylisted'= & gt;строка
'-'
(длина = 1)& nbsp;public'is_disposable'= & gt;строка
'Истина'
(длина = 4)& nbsp;public'is_suppressed'= & gt;строка
'Истина'
(длина = 4)& nbsp;public'is_role'= & gt;строка
'False'
(длина = 5)& nbsp;public'is_high_risk'= & gt;строка
'False'
(длина = 5)& nbsp;public'is_catchall'= & gt;строка
'Неизвестно'
(length = 7)& nbsp;public'mailboxvalidator_score'= & gt;строка
'0.01'
(длина = 4)& nbsp;public'time_taken'= & gt;строка
'0.0428'
(длина = 6)& nbsp;public'status'= & gt;строка
'False'
(длина = 5)& nbsp;public'credits_available'
= & gt;
int279& nbsp;public'error_code'= & gt;строка
''
(length = 0)& nbsp;public'error_message'= & gt;string''

(length = 0)

Теперь из приведенного выше вы увидите, что у нас есть объект результата, который содержит свойства проверки для письма, которое появилось как ответ от MailboxValidator сервер. Объяснение того, что представляют все эти свойства, можно найти

здесь

. Вам решать, какую из этих валидаций вы хотите использовать, но имейте в виду, что некоторые из них имеют высокий приоритет, то есть если они вернут false, большинство других будут пропущены.

  1. Эти параметры с высоким приоритетом:
  2. is_syntax: если этот вызов завершился неудачно, все проверки с `is_domain` на` is_catchall` будут пропущены.

is_domain: если этот вызов завершился неудачно, все проверки с is_smtp на is_greylisted будут пропущены. & nbsp; & nbsp;

Итак, чтобы использовать определенные проверки из этого, вы можете сделать что-то вроде:

if ($ results- & gt; is_verified == 'True' & amp; & amp; $ results- & gt; is_greylisted! = ' True ') {& nbsp; & NBSP; echo 'Прилагаемое письмо действительное';} else {& nbsp; & NBSP; echo 'Электронная почта недействительна.';}

Приведенный выше код проверяет, существует ли почтовый ящик на сервере и не указан серый. Это пример того, как использовать определенную проверку.

Но если вы хотите использовать более общую проверку, вы можете использовать поле `mailboxvalidator_score`.

Объяснение:

Mailboxvalidator_score: это оценка предоставленного адреса электронной почты от 0.0 до 1.0. Если это & ​​gt; 0,7 означает, что письмо хорошее. Если это & ​​lt; 0,7 и & gt; 0,4 означает, что это довольно приемлемо. Но если это ≤ 0,4, это означает, что это очень плохо.

Пример:

if ($ results- & gt; mailboxvalidator_score & gt; 0.7) {echo 'Это письмо очень хорошо.';} elseif ($ results- & gt; mailboxvalidator_score & lt; 0,7 & amp; $ results- & gt; mailboxvalidator_score & gt; 0.4) {echo 'Это письмо в порядке';} else {echo 'Это сообщение недействительно';} & NBSP;

Если вызов не работает успешно, $ results будет либо логическим ложным, либо имеет это свойство $ results- & gt; error_code.
& nbsp; Который вы можете легко проверить с помощью:


if ($ results === false) & nbsp;
{
echo «Ошибка подключения к API»;
}

elseif (! empty ($ results- & gt; error_code){echo $ results- & gt; error_message;

}

Теперь вещь с этой оболочкой заключается в том, что он обеспечивает ответ как stdClass. Но если вы хотите, чтобы прямой JSON или XML с сервера, вы можете совершать вызовы непосредственно на сервер для этого.

Прямое соединение

Итак, если вместо объекта PHP вы хотите получить прямой ответ в JSON или XML, вы можете сделать прямой вызов API без использования предоставленной обертки. Вот пример кода, который можно использовать:

$ params ['key'] = 'YOUR_API_KEY_HERE'; $ params ['format'] = 'json'; Может быть «xml» или «json» $ params ['email'] = 'test@gmail.com'; $ query = http_build_query ($ params); $ result = file_get_contents ('https: api.mailboxvalidator.com'. 'v1 validation single?'. $ query); echo $ result;


Результат с JSON будет примерно таким:
& nbsp;

{
email_address: «test@gmail.com»,
домен: «gmail.com»,
is_free: «True»,
is_syntax: «True»,
is_domain: «True»,
is_smtp: «True»,,
is_verified: «True»,
is_server_down: «False»,
is_greylisted: «False»,
is_disposable: «False»,
is_suppressed: «False»,
is_role: «False»,
is_high_risk: «True»,
is_catchall: «False»,
mailboxvalidator_score: «0.45»,
time_taken: «0.102»,
статус: «False»,

credits_available: 258,error_code: «»,error_message: «»

}


результатом с XML будет что-то вроде:
& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;& lt; response & gt;
& lt; email_address & gt; test@gmail.com< email_address & GT;
& lt; domain & gt; gmail.com & lt; домен & GT;
& lt; is_free & gt; True & lt; is_free & GT;
& lt; is_syntax & gt; True & lt; is_syntax & GT;
& lt; is_domain & gt; True & lt; is_domain & GT;
& lt; is_smtp & gt; True & lt; is_smtp & GT;
& lt; is_verified & gt; True & lt; is_verified & GT;
& lt; is_server_down & gt; False & lt; is_server_down & GT;
& lt; is_greylisted & gt; False & lt; is_greylisted & GT;
& lt; is_disposable & gt; False & lt; is_disposable & GT;
& lt; is_suppressed & gt; False & lt; is_suppressed & GT;
& lt; is_role & gt; False & lt; is_role & GT;
& lt; is_high_risk & gt; True & lt; is_high_risk & GT;
& lt; is_catchall & gt; False & lt; is_catchall & GT;
& lt; mailboxvalidator_score & gt; 0,45 & lt; mailboxvalidator_score & GT;
& lt; time_taken & gt; 0,0555 & lt; TIME_TAKEN & GT;
& lt; status & gt; False & lt; Статус & GT;
& lt; credits_available & gt; 256 & lt; credits_available & GT;
& lt; error_code & gt; & lt; код_ошибки & GT;

& lt; error_message & gt; & lt; error_message & GT;

& lt; ответ & GT; & NBSP;

Примечание. Для запроса https убедитесь, что вы включили расширение php_openssl.dll в своем php.ini. Если вам сложно изменить php.ini, вы всегда можете сделать http-запрос вместо https.

Безопасен ли MailboxValidator

Да, MailboxValidator и его API очень безопасны, поскольку MailboxValidator понимает, что ваши запросы API могут содержать конфиденциальные данные. & Nbsp; Именно поэтому все запросы отправляются через SSL, а SHA256 с шифрованием RSA используется, чтобы убедиться, что все запросы действительны и полностью защищены.

Заключение

Как вы можете видеть из приведенных выше примеров и объяснений, очень легко настроить и использовать

MailboxValidator и его API.