Простая почтовая проверка SMTP функционирует для php? Кроме того, действительно ли это стоит того?

По общему признанию странный макрос, представленный ниже, является полезной заменой для устранения нескольких классов уязвимостей безопасности, а также для отладки помощи, поскольку доступ к свободным () 'd-областям с большей вероятностью приведет к сбою, чем к тихому повреждению памяти. 111]

#define my_free(x) do { free(x); x = NULL; } while (0)

Цикл do-while помогает окружающему коду легче переваривать множественные операторы. например если (сделано) my_free (x);

5
задан chris 31 May 2009 в 09:32
поделиться

3 ответа

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

/*checks if email is well formed and optionally the existence of a MX at that domain*/
function checkEmail($email, $domainCheck = false)
{
    if (preg_match('/^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+'.
                   '\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/', $email)) {
        if ($domainCheck && function_exists('checkdnsrr')) {
            list (, $domain)  = explode('@', $email);
            if (checkdnsrr($domain, 'MX') || checkdnsrr($domain, 'A')) {
                return true;
            }
            return false;
        }
        return true;
    }
    return false;
}

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

$validated = checkEmail('foo@gmail.com', true);
2
ответ дан 15 December 2019 в 01:10
поделиться

Вот то, что, я думаю, вы ищете. Он выполняет проверку с помощью SMTP-сервера. Он показывает код PHP. http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/ .

2
ответ дан 15 December 2019 в 01:10
поделиться

Вот такой код , взятый из модуля drupal email_verify . Там есть пара специальных вызовов Drupal, но не потребуется много времени, чтобы очистить его для общей функции PHP:

Также обратите внимание, что некоторые веб-хосты блокируют исходящий порт 25, поскольку он в основном используется спамерами . Если ваш хост практикует такую ​​блокировку, вы не сможете использовать эту форму проверки.

0
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: