Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Проверка E-Mail
Обычно, когда требуется послать сообщения по адресу username@someserver.com, необходимо сначала узнать хост почтового ретранслятора для домена someserver.com, а затем получить его ip-адрес.
После этого можно соединяться с хостом для доставки почты.
В домене может быть несколько почтовых ретрансляторов с разными значениями предпочтения, поэтому, получив список ретрансляторов, имеет смысл устанавливать соединение с тем из них, который имеет максимальное значение предпочтения.
В следующем листинге показан пример кода, с помощью которого можно получить список почтовых ретрансляторов:
Получение списка почтовых ретрансляторов
$domain = "server.com";
getmxrr($domain, $maillist, $priority);
echo("Список почтовых ретрансляторов хоста $domain: \n");
for($i = 0; $i < count($maillist), ++$i) {
echo("$maillist[$i] = $priority[$i] \n"); }
Проверка существования адреса электронной почты
Здесь речь идет о проверке существования хоста почтового ретранслятора для некоторого домена.
$email_arr = explode("@" , $email);
$host = $email_arr[1];
if (!getmxrr($host, $mxhostsarr)) {
echo "На адрес $email отправка почты невозможна";
exit; }
getmxrr($host, $mxhostsarr, $weight);
echo "На $email письма могут отправляться через следующие хосты:";
for ($i=0; $i < count($mxhostsarr); $i++)
echo ("$mxhostsarr[$i] = $weight[$i]");
А вот так выглядит функция проверки правильности E-Mail'а. Помните, эта функция проверят только существование почтового сервера и синтаксическую правильность адреса. Для полной проверки существования адреса необходимо отправить на него письмо со случайным кодом и попросить получателя письма ввести этот код а форме, на вашем сайте.
function CheckEmail($Email){
if (!preg_match("/^[\._a-zA-Z0-9-]+@[\.a-zA-Z0-9-]+\.[a-z]{2,6}$/i", $Email)) return false;
list($Username, $Domain) = split("@",$Email);
if (@getmxrr($Domain, $MXHost)) return true;
else {
$f=@fsockopen($Domain, 25, $errno, $errstr, 30);
if($f){
fclose($f);
return 0;}
else return false;
}}
Функция возвращает false, если адрес указан неверно и true, если все порядке.
Смотрите также:
- Сервис и API проверки e-mail.
- Универсальная рассылка почты на PHP,
- Вставка изображения в письмо на PHP,
- Отправка почты по шаблону на PHP,
- Удалить все сообщения из почтового ящика.
- Настройки SPF и DKIM чтобы письма не попадали в спам.
- email рассылка по шаблону на PHP
.
Прокомментировать/Отблагодарить