Валидните мейли!

Тези дни си играх с това да сменя скрипта, валидиращ заявката за сваляне на KeePass for Pocket PC. Проблемът беше, че предишният скрипт нямаше никаква валидация и :Никола: основателно се ядосваше на заявки с празен мейл, защото му замърсяваха лога на сървъра.

Е, седнах една вечер, само за да оправя този проблем. Седнах в 22:00, с идеята за 5 мин да бутна скрипта, само в тази му част, и да не допускам празно поле за мейл (и особено да не пращам мейл с такъв празен адрес). И като седнах, и като започнах – накрая свърших с проверка за следните неща:
1. well-formed mail address (да е читав, с валиден username/domain)
2. TLD на адреса да е валиден

И часът, естествено, беше 02:00. Не съм видял времето как е литнало.
Сега обаче съм доволен! Особено след като излезе новата версия на KeePass, и download-ите на Pocket PC версията обичайно подскочиха. Кой знае колко невалидни регистрации трябваше да изпопощя, ако не беше този скрипт!

Покрай тази история споделих с един приятел колко време не съм писал неща с кеф! Неща, които като седнеш, да те обсебят и да не усетиш времето как лети и как настъпваш в тъмната нощна доба. И как се чувстваш безкрайно удовлетворен накрая – и си лягаш изпълнен с онова чувство за пълноценност. Въпреки факта, че ти остават само няколко часа, докато се събудиш, отидеш в офиса, и започнеш поредния ден. А бяха времена, когато без подобно удовлетворение просто “сън не се полагаше”. Бачкаш, докато си получиш дозата кеф. Понякога по 30 часа. Понякога повече.

Пораснахме… за добро или за лошо…

П.П. Ангел пак е болен. Дано е нещо леко, макар леките неща да не почват с 38.5 от раз 🙁 !

One thought on “Валидните мейли!

  1. Аз ползвам това. Когато се включи check_mx задължително лови гадовете.

    // Check if email is valid
    function valid_email($email,$check_mx=false) {
    $email_pattern = ‘/^\w+((-\w+)|(_\w+)|(\.\w+))*\@[a-z0-9]+((\.|-)[a-z0-9]+)*\.[a-zA-Z]{2,6}$/’;
    $return = false;
    if (preg_match($email_pattern,strtolower($email)))
    $return = true;

    if ($return && $check_mx) {
    list($user,$host) = split(‘@’,$email);
    $host .= ‘.’;
    if ( getmxrr( $host, $mxhosts ) == false && gethostbyname( $host ) == $host )
    $return = false;
    else
    $return = true;
    }
    return $return;
    }

Leave a Reply to Георги ЧорбаджийскиCancel reply

Theme: Overlay by Kaira Extra Text