Geçerli e-posta adresleri için denetleme

1 Cevap

Ben daha 60 000 kayıtlı kullanıcıları ile bir web sitesi koşuyorum. Her hafta bildirimleri e-posta yoluyla bu kullanıcılara gönderirseniz, şimdi posta adresleri bazı fark ettik artık örneğin mevcut değil. domain adresi geçerli ama kişi MX kayıtları ile varsa Şimdi veritabanı üzerinden döngü ve bazı düzenli ifade kontrolleri yapıyor ve kontrol ediyorum artık vb bir şirkette çalışmıyor çünkü asdas @ tr e-posta adı artık geçerli değil iki fonksiyonu şu

function verify_email($email){

    if(!preg_match('/^[_A-z0-9-]+((\.|\+)[_A-z0-9-]+)*@[A-z0-9-]+(\.[A-z0-9-]+)*(\.[A-z]{2,4})$/',$email)){
        return false;
    } else {
        return true;
    }
}

// Our function to verify the MX records
function verify_email_dns($email){

    list($name, $domain) = split('@',$email);

    if(!checkdnsrr($domain,'MX')){
        return false;
    } else {
        return true;
    }
}

E-posta adresi geçersiz formatında veya etki alanında ise ben hesap kullanıcıları silmek mevcut değildir. Ben alan adı geçerlidir ve e-posta adresi doğru biçimde ise e-posta adresi hala olup olmadığını denetlemek veya değil kullanabilirsiniz herhangi bir yöntem var mı? Örneğin abc@test.com artık yok ama test.com geçerli bir etki alanı adıdır.

NOT: Bir posta kullanıcılara göndermek ve e-posta adresi i önlemek için çalışıyorum günde 1000 yılında sonuçlanan benim gelen bir e-posta almak artık yoksa.

1 Cevap

Standart yol, uzak ileti sunucusuna bağlanmak ve bir VRFY komutu göndermek. O çok daha kolay spam geçerli e-posta adreslerini bulmak için yapar çünkü Ancak, bazı sunucular buna izin vermez. Ayrıca (adres geçersiz eğer bir 550 yanıtı alırsınız) bir RCPT TO komutu göndermeyi deneyebilirsiniz, ama onlar bunu çok kere yaparsanız aynı nedenle, sizi engellemek için eğilimindedir

Zaten gelen kutunuzdaki e-postaları geri dönmüş başlıyorsanız eğer sadece teslim hataları neden olan listenizdeki insanları bu ayrıştırmak ve otomatik kaldırmak olabilir gibi görünüyor