Проверка электронной почты PHP только для электронной почты IBM (по всему миру) - PullRequest
0 голосов
/ 26 января 2011

Я довольно новичок в PHP. Как проверить адрес электронной почты, чтобы иметь только домен IBM? Действительный адрес:

XXXXX@us.ibm.com
XXXXX@in.ibm.com
XXXXX@ro.ibm.com
XXXXX@ibm.com

PHP должен быть в состоянии принять любое из вышеперечисленного.

Пожалуйста, помогите

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 февраля 2011

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

John Adams <john@us.ibm.com>
"John Adams" <john@us.ibm.com>
john@us.ibm.com

Затем вы можете проверить, пришел ли он из домена IBM:

if(preg_match('/@([a-z]{2}\.)?ibm.com/i', $emailaddress)) {
    # email is from an ibm domain
}

Наконец, и это сложная часть, убедитесь, что электронное письмо было отправлено с сервера, принадлежащего IBM, потому что даже я могу отправить вам электронное письмо с адресом "arvin@ibm.com" в качестве адреса электронной почты, указанного в поле Отfield.

Вы можете перечислить все IP-адреса серверов электронной почты IBM, а затем проверить, было ли письмо отправлено с них, используя поля заголовка письма.Или, если ваш сервер выполняет проверку SPF, вы можете проверить, является ли поле Received-SPF сообщения электронной почты "pass".

0 голосов
/ 26 января 2011

Разделить на @, а затем проверить с помощью регулярного выражения.

list($username,$domain) = explode('@',$email);
if (preg_match('/ibm\.com$/',$domain))
{
   echo "yup it's ibm.";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...