2011-08-30 17 views
5

कभी-कभी उपयोगकर्ता अपने ईमेल डोमेन को गलत वर्तनी देते हैं और इसलिए वे गलत ईमेल पता दर्ज करते हैं। ईजी। [email protected] के बजाय [email protected]गलत पता वाले ईमेल पता डोमेन को कैसे सही करें?

क्या किसी ने इससे पहले इस बारे में सोचा है? क्या कोई इस प्रकार की गलतियों को संभालने का सुझाव दे सकता है?

+8

समस्या gmial.com एक पूरी तरह से वैध डोमेन नाम हो सकता है कि है। मैं सुझाव दूंगा कि आप ऐसा करने की कोशिश न करें - लेकिन यदि आप वास्तव में करना चाहते हैं, तो गलत तरीके से गलत वर्तनी के श्वेतसूची बनाएं, और कोई सामान्य नियम न बनाएं। यह करने के लिए कोशिश कर रहा है के साथ – Prescott

+0

मुसीबत है कि आप गलत व्यक्ति और कष्टप्रद संभावित ग्राहकों को ईमेल के अंत में कर सकता है। –

+1

@ प्रिस्कॉट, यह किसी भी वर्तनी-परीक्षक के लिए सच होगा। मुझे आशा है कि वह एक ऑटो-सही की तलाश नहीं कर रहा है, जो निश्चित रूप से एक गलतफहमी होगी। , अगर कुछ बुरा है ईमेल भेजने के लिए और प्रतिक्रिया संदेश/NDR को देखो - - –

उत्तर

13

क्या कोई इस प्रकार की गलतियों को संभालने का सुझाव दे सकता है?

आप आमतौर पर दिए गए पते पर एक पुष्टिकरण ई-मेल भेजेंगे, और केवल तभी आगे बढ़ें जब उस ई-मेल में एक लिंक क्लिक किया गया हो।

इस से निपटने का कोई और अच्छा तरीका नहीं है - यह सुनिश्चित करना असंभव है कि gmial.com एक टाइपो है या नहीं, क्योंकि यह एक वैध डोमेन है।

+1

+1 पुष्टिकरण ईमेल सर्वोत्तम है। दूसरी चीज जिसे आप अक्सर देखते हैं, उन्हें दो बार टाइप करना पड़ता है (और उम्मीद है कि वे कॉपी/पेस्ट करने के बारे में नहीं जानते हैं)। – Thilo

+0

Google के लिए यह जानना भी असंभव है कि आपने अपनी क्वेरी को सही तरीके से लिखा है, फिर भी यह अक्सर एक बेहतर क्वेरी के लिए प्रतिस्थापन का सुझाव दे सकता है। –

+0

@ यहां जादू शब्द को कप्तान ** ** निश्चित रूप से ** है। यद्यपि निश्चित रूप से 'gmial.com' पता और अन्य सामान्य टाइपो स्वीकार करने से पहले सुधार का सुझाव देने के खिलाफ कुछ भी नहीं है, यह सच है। में प्रवेश किया होस्ट नाम और आम होस्ट नामों की सूची के बीच अपने सुझाव –

1

मजाकिया बात यह है कि यूआरएल मौजूद है http://www.gmial.com वास्तव में यह जानना बहुत मुश्किल होगा कि यह गलती है या सिर्फ एक "अजीब" डोमेन है। गूगल एपीआई को देखो, क्योंकि जब आप गूगल में कुछ गलत टाइप वे प्रस्ताव है कि आप "क्या आपका मतलब ...."

सौभाग्य

अरनॉड

3

मेरी राय यह असंभव की सीमा पर है आने के लिए में जेनेरिक मामले के लिए एक सामान्य समाधान के साथ।

कहा जा रहा है कि, सबसे आम टाइपो दो अनुकूल अक्षरों का आदान-प्रदान करना है। तो हो सकता है कि आप सबसे बड़ी साइटों जीमेल, याहू और आप के पास चरित्र सामग्री की जांच करना चाहें; यदि मूल जीमेल आदि

  • उपयोगकर्ता यह मानकर न चलें गलती है से मेल नहीं खाता उस आधार पर एक वैकल्पिक वर्तनी सुझाव है, विकल्प का सुझाव अगर यह आम नाम की तुलना में संदिग्ध लग रहा है। एक और जवाब में एक सफेद सूची का उल्लेख किया गया था।
  • अगर आपको पता होना चाहिए कि आपको इस पते से कोई जवाब मिल सकता है तो पुष्टिकरण मेल का उपयोग करें। आप यह नहीं मान सकते कि आपको मिली वर्तनी त्रुटि में है, यही पुष्टि पुष्टिकरण मेल है।
  • इसे बहुत गैर-घुसपैठ कर दें (अजाक्स स्प्रिंग्स को दिमाग में रखें)।
0

जैसा कि पहले बताया गया है, यह स्वचालित रूप से यह मानना ​​अच्छा नहीं है कि किसी ने ईमेल को गलत टाइप किया है। एक बेहतर तरीका एक छोटे जावास्क्रिप्ट फ़ंक्शन को कार्यान्वित करना होगा जो जांचता है कि ईमेल का डोमेन संभवतः गलत टाइप किया गया था और यह मानने के बजाय उपयोगकर्ता को चेतावनी दी गई थी कि वे शुरुआत से गलत थे।

मुझे थोड़ा सा नकली बनाने के लिए एक मिनट दें।

संपादित करें: ठीक है, तो शायद यह एक मिनट से अधिक था। http://jsbin.com/iyaxuq/8/edit पर एक नज़र डालें और अपने आप को देखें कि जावास्क्रिप्ट सामान्य टाइपिंग त्रुटियों को रोकने में कैसे मदद कर सकता है। ईमेल जैसे प्रयास करें: [email protected], [email protected], [email protected] (हॉटमेल का टाइपो), और [email protected]

नोट: मैंने ईमेल को सत्यापित करने के लिए आलसी रेगेक्स का उपयोग किया। असली ऐप के लिए इस पर भरोसा न करें (या उस मामले के लिए, अधिकांश regexes)।

0

आप एक तरीका है कि आप ऑटो को सही गलत लिखे ईमेल डोमेन नाम में इस कार्यक्षमता प्रदान नहीं कर सकते, क्योंकि नाम है जो आप को अमान्य घोषित किया मानते हैं, मान्य होगा। आपको ईमेल पता डोमेन नाम के रूप में कुछ भी दर्ज करने की उम्मीद करनी चाहिए।

मेरा सुझाव है, तो आप एक साइनअप फॉर्म बना रहे हैं, आप एक लटकती सभी संभव डोमेन नाम है जो आप इतना है कि वह कि से चुनाव कर सकें के बारे में पता होने के साथ उपयोगकर्ता प्रदान करते हैं।

उम्मीद है कि इससे मदद मिलती है।

0

आप अपने डीबी में लोकप्रिय ई-मेल डोमेन (gmail.com, yahoo.com, ymail.com, आदि) की एक सूची बना सकते हैं और उस ई-मेल पते को सत्यापित कर सकते हैं जिसे उपयोगकर्ता इस सूची के विरुद्ध इनपुट करता है, और यदि डोमेन इन डोमेनों में से किसी एक के जैसा दिखता है, आपको एक चेतावनी दिखाना चाहिए और यदि आवश्यक हो तो उपयोगकर्ता इसे सही करने की अनुमति देता है, ऑटो इसे ठीक नहीं करता है। और डोमेन अपनी सूची के डोमेन के साथ प्रवेश किया तुलना करने के लिए, आप एक के आधार पर करता है, तो एक शब्द दूसरे की तरह लगता है एसक्यूएल सर्वर शब्दों से मेल खाता है कि में soundex समारोह में इस्तेमाल की तरह एक एल्गोरिथ्म का उपयोग हो सकता है।

संपादित करें: आप more details the SOUNDEX function here पा सकते हैं।

+0

ध्वनि ?! मुझे आश्चर्य है कि यह flickr.com जैसे नामों के साथ कैसे काम करेगा ... क्या एसक्यूएल को यह मिलेगा अगर मैं इसके बजाय flicker.com दर्ज करना चाहता हूं? –

0

बुरा डेटा के सुधार को स्वचालित करने की कोशिश कर रहा एक बहुत ही खतरनाक बात है। आखिरकार, केवल उपयोगकर्ता ही सही डेटा प्रदान कर सकता है। हालांकि ईमेल पते को स्वरूपित करने के बारे में सख्त नियम हैं - एक रेगेक्स चेक जावास्क्रिप्ट में चलाया जा सकता है (या उसी रेगेक्स सिंटैक्स के साथ प्रीग फ़ंक्शंस का उपयोग करके) - लेकिन ध्यान दें कि हल करने के लिए दावा करने वाले रेगेक्स के इंटरनेट पर बहुत सारे बुरे उदाहरण हैं समस्या।

/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/gi 

लेकिन व्यवहार में मैं यह पर्याप्त होना करने के लिए लगता है:

/^[a-z0-9\._%+!$&*=^|~#%'`?{}/\-][email protected]([a-z0-9\-]+\.){1,}([a-z]{2,6})$/gi 

फिर, serverside, आप एक MX lookup कर सकते हैं

यह एक RFC2822 ADDR_SPEC सत्यापनकर्ता के एक काफी पूरा कार्यान्वयन होना चाहिए यह सत्यापित करने के लिए कि प्रदान किया गया डोमेन न केवल स्वरूपण आवश्यकताओं को पूरा करता है बल्कि एक ईमेल प्राप्त करने वाली साइट के रूप में मौजूद है।

यह साबित नहीं करता है कि नामित मेलबॉक्स उस साइट पर मौजूद है, न ही यह ईमेल स्वीकार कर रहा है - आखिरकार आपको उस पते पर एक ईमेल भेजने की आवश्यकता होगी जिसमें एक क्लिक बैक लिंक/पासवर्ड शामिल है, यह पता लगाने के लिए कि ईमेल पता है या नहीं वैध।

2

हमारे रूपों में हम तकनीकों का संयोजन उपयोग कर रहे हैं। जबकि खराब डेटा अभी भी फिसल सकता है, संभावनाएं काफी कम हो जाती हैं। सिर्फ यकीन है कि यह आरएफसी अनुरूप है हो -

पहले एक सरल स्वरूपण regex कि सामान्य रूप से उपलब्ध है क्या करना है। यदि यह विफल हो जाता है, तो उपयोगकर्ता को इस बिंदु पर एक पुष्टिकरण फ़ॉर्म प्रदान करना अच्छा होता है, क्योंकि इस समस्या को ठीक करते समय वे आपके लिए अन्य त्रुटियां पकड़ सकते हैं।

अगला भाग डोमेन के TLD भाग को जांचना है। चूंकि सभी टीएलडी ज्ञात हो सकते हैं, इसलिए कुछ रेगेक्स परीक्षणों का उपयोग करके गलत वर्तनी के लिए स्कैन करना अपेक्षाकृत आसान है। बस किसी भी तालिका में सभी मौजूदा टीएलडी की एक सूची रखें और इसे समय-समय पर आवश्यकतानुसार अपडेट करें (ध्यान दें, अंतर्राष्ट्रीय टीएलडी से निपटने के दौरान यह सूची जटिल हो सकती है। अगर आप केवल यूएस यातायात से निपट रहे हैं, तो नियम बहुत अधिक हैं आसान है, और यह कुछ और है जिसे आप फ़िल्टर कर सकते हैं। उदाहरण के लिए, यदि आप केवल यूएस में उपलब्ध एक सेवा बेच रहे हैं, तो फॉर्म सबमिट करने के समय अंतरराष्ट्रीय ईमेल को फ़िल्टर करना समझदारी होगी। हम हैं, इसलिए यह हमारे लिए काम करता है) ।

तीसरा ऐसा कुछ करना है जो @npclaudiu ने सुझाया है - डोमेन भाग में बड़े नाम मेल होस्ट (जीमेल, हॉटमेल, याहू, आदि) की सामान्य गलत वर्तनी के लिए स्कैन करें और यदि कोई संभावित हिट पता चला है, तो एक पुष्टिकरण फ़ॉर्म प्रदान करें उपयोगकर्ता को (आप [email protected] में प्रवेश किया, आप hotmail.com मतलब है?)

आप उन कदमों के माध्यम से प्राप्त है, तो आप एमएक्स देखने @symcbean ने सुझाव दिया कर सकते हैं।

अंत में, यदि सफल होता है यह सब, वहाँ एक तरीका है (लेकिन मैं अभी तक यह परीक्षण नहीं किया गया है) दूरस्थ SMTP मेजबान के साथ संवाद स्थापित करता है, तो मेलबॉक्स मौजूद है को देखने के लिए है। हम खुद को परीक्षण शुरू करने वाले हैं। मैंने पाया है कि कैसे-करने के लिए यहाँ इस तरह के लिए: http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/

+0

मैंने एक सी/सी ++ लाइब्रेरी लिखी जो ईमेल पते की वैधता की जांच करता है। ईमेल पते के लिए आरएफसी बहुत जटिल है और रेगेक्स के साथ कार्यान्वित करना वास्तव में कठिन है (यदि आप वास्तव में आरएफसी का समर्थन करने वाले सभी को स्वीकार करना चाहते हैं।) मेरी लाइब्रेरी मुफ्त है और यहां मिल सकती है: http://snapwebsites.org/project/libtld - मुझे लगता है कि अंतरराष्ट्रीय ईमेल पते को प्रतिबंधित करना "खतरनाक" है क्योंकि मेरे पास [email protected] जैसे ईमेल हो सकते हैं और .me एक अमेरिकी डोमेन नाम नहीं है (हालांकि व्यापक रूप से यहां .co, .fm, .ws, आदि) मेरी टीएलडी तालिका 7075 प्रविष्टियां है ... यह भी काफी जटिल होना चाहिए! –

6

यह अस्तित्व में नहीं था जब यह प्रश्न पूछा था, लेकिन मैं MailCheck जो प्रवेश किया ईमेल का सुधार ऑटो पता चलता है की सलाह देते हैं। इसका उपयोग बड़ी कंपनियों द्वारा सफलतापूर्वक किया जाता है।

+0

^यह, प्लस अगर आपको एंगुलरजेएस रैपर की आवश्यकता है, तो इस जवाब पर एक नज़र डालें [गलत वर्तनी ईमेल के लिए सुझाव देने के लिए AngularJs निर्देश] (http: // stackoverflow।कॉम/प्रश्न/34446950/कोणीय-निर्देश-से-प्रस्ताव-सुझाव-के लिए-गलत वर्तनी-ईमेल/34446951 # 34446951) – kape123

+0

प्रश्न को 'php' टैग किया गया था, लेकिन यह एक जावास्क्रिप्ट लाइब्रेरी है। – Flimm

0

सामान्य ईमेल डोमेन नामों की एक सूची बनाएं:

hotmail.com 
gmail.com 
googlemail.com 
... etc 

एक उपयोगकर्ता एक ईमेल पता दर्ज करता है, दर्ज किए गए पते का डोमेन नाम लेने के लिए और अपनी सूची के बीच Levenstein दूरी रखना। यदि दूरी 1 (या शायद 2 तक) है तो उपयोगकर्ता से यह पुष्टि करने के लिए कहें कि वह उसका ईमेल पता है।

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