$em_a = explode("@" , $email);
if (!getmxrr($em_a[1], $mx)) $html = '<img src="./images/bad.gif"> <span class="leechmed bold">Введите реальный адрес электронной почты!</span>';
// Check to see if email address is banned or already present in the DB
function validate_email ($email, $check_ban_and_taken = true)
{
global $lang, $userdata;
if (!$email || !preg_match('#^([_a-z\d])[a-z\d\.\-_]+@[a-z\d\-]+\.([a-z\d\-]+\.)*?[a-z]{2,4}$#i', $email))
{
return $lang['EMAIL_INVALID'];
}
if (strlen($email) > USEREMAIL_MAX_LENGTH)
{
return $lang['EMAIL_TOO_LONG'];
}
if ($check_ban_and_taken)
{
$banned_emails = array();
foreach (DB()->fetch_rowset("SELECT ban_email FROM ". BB_BANLIST ." ORDER BY NULL") as $row)
{
$banned_emails[] = str_replace('\*', '.*?', preg_quote($row['ban_email'], '#'));
}
if ($banned_emails_exp = join('|', $banned_emails))
{
if (preg_match("#^($banned_emails_exp)$#i", $email))
{
return sprintf($lang['EMAIL_BANNED'], $email);
}
}
$email_sql = DB()->escape($email);
if ($row = DB()->fetch_row("SELECT `user_email` FROM ". BB_USERS ." WHERE user_email = '$email_sql' LIMIT 1"))
{
if($row['user_email'] == $userdata['user_email'])
return false;
else
return $lang['EMAIL_TAKEN'];
}
}
return false;
}
!preg_match('#^([_a-z\d])[a-z\d\.\-_]+@[a-z\d\-]+\.([a-z\d\-]+\.)*?[a-z]{2,4}$#i', $email)
Указывай тогда уже "неправильный" как тут догадаться что ты там вводишь?.Да такая функция есть, но она почему-то не работает. Вводим неправильный адрес почты и она проходит валидацию.
Почему почта @i.ua не проходит валидацию, @yndex.ru, проходит без проблем, @gmail. ru из 10 только двое получают код, @mail.ru проходит без проблем если не считать что половина писем попадает в спам???доменная зона может быть от 2 до 4 символов, а у Вас их 5. Во время валидации указанного почтовика проверяется только правильное заполнение, но не реальное существование такой почты
В настройках почтовой системы, настройках DNS почтового сервера, вас тупо считают спамером, пропишите обратную зону пропишите SPF запись, поможетGemini_13, Я прошу прощения!!! Пожалуй я не так поставил вопрос. Валидацию проходят все почты и даже есть сообщение что письмо с кодом потверждения регистрации отпровлено на указанный e-mail, но вот само письмо на почту не приходит. В чем может быть проблема???