2009-05-31 18 views
5

क्या किसी के पास PHP में एसएमटीपी द्वारा ईमेल पते मान्य करने के लिए कोई अच्छा कार्य है? इसके अलावा, क्या यह इसके लायक है? क्या यह मेरे सर्वर को धीमा कर देगा?PHP के लिए सरल एसएमटीपी ईमेल सत्यापन समारोह? इसके अलावा, क्या यह इसके लायक है?

-> संपादित करें: मैं कुछ इस तरह की बात कर रहा हूँ:

http://onwebdevelopment.blogspot.com/2008/08/php-email-address-validation-through.html

जिसका अर्थ यह है ईमेल पते की वाक्य रचना के सत्यापन के पूरक।

हालांकि यह जटिल लगता है, और मैं उम्मीद कर रहा था कि ऐसा करने का एक आसान तरीका था।

+0

एसएमटीपी एक मेल ट्रांसफर प्रोटोकॉल है। "एसएमटीपी द्वारा ईमेल पते मान्य करने" का क्या मतलब है? कृपया अपने प्रश्न को स्पष्ट करें। – rodion

उत्तर

2

आप अगर वहाँ डोमेन पर एक मेल एक्सचेंजर है की जांच करना चाहते हैं, तो आप कुछ इस तरह का उपयोग कर सकते हैं:

/*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('[email protected]', true); 
0

Here's such a code, Drupal मॉड्यूल email_verify से लिया । वहां कुछ ड्रूपल विशिष्ट कॉल हैं, लेकिन इसे सामान्य PHP फ़ंक्शन के लिए इसे साफ़ करने में बहुत समय नहीं लगना चाहिए:

यह भी ध्यान दें कि कुछ वेब होस्ट आउटगोइंग पोर्ट 25 को अवरुद्ध करते हैं, क्योंकि इसका अधिकतर उपयोग होता है स्पैमर्स। यदि आपका होस्ट इस तरह के ब्लॉक का अभ्यास कर रहा है, तो आप सत्यापन के इस रूप का उपयोग नहीं कर पाएंगे।

2

यह वही है जो मुझे विश्वास है कि आप ढूंढ रहे हैं। यह एसएमटीपी सर्वर के साथ एक सत्यापन करता है। यह PHP कोड दिखाता है। http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/

+1

धन्यवाद जो दिलचस्प लगता है – chris

0

पते का सत्यापन करने के लिए मेरा मुफ्त PHP फ़ंक्शन is_email() का उपयोग करने के लिए आपका स्वागत है। यह here उपलब्ध है।

यह सुनिश्चित करेगा कि एक पता पूरी तरह से आरएफसी 5321 अनुरूप है। यह वैकल्पिक रूप से यह भी जांच सकता है कि डोमेन वास्तव में मौजूद है या नहीं।

आपको यह बताने के लिए एक वैधकर्ता पर भरोसा नहीं करना चाहिए कि उपयोगकर्ता का ईमेल पता वास्तव में मौजूद है या नहीं: कुछ आईएसपी अपने उपयोगकर्ताओं को विशेष रूप से उन देशों में गैर-अनुपालन पते देते हैं जो लैटिन वर्णमाला का उपयोग नहीं करते हैं। यहां ईमेल सत्यापन के बारे में मेरे निबंध में अधिक जानकारी: http://isemail.info/about

संबंधित मुद्दे