मैंने कुछ PHP उदाहरणों को देखा है कि आप इनबॉक्स को कैसे पिंग कर सकते हैं (बिना किसी मेल भेजने के) यह जांचने के लिए कि यह मौजूद है या नहीं। मैं सोच रहा था कि अगर कोई जानता है कि यह .NET के साथ संभव है? अगर मैं ईमेल की सूची पर थोक जांच करने के लिए एक ऐप लिखने जा रहा हूं तो मैंने अपनी साइट के माध्यम से कब्जा कर लिया है।क्या मैं जांच सकता हूं कि कोई ईमेल पता .NET का उपयोग कर मौजूद है या नहीं?
उत्तर
यदि आप "ईमेल जांचें" लिखते हैं तो इसका क्या मतलब है? ईमेल स्वामी के लिए कुछ अनूठा लिंक भेजने के बिना आप इसे जांच नहीं सकते हैं, आप केवल ईमेल के सिंटैक्स की जांच कर सकते हैं, और smtp से कनेक्शन देख सकते हैं।
public static bool isEmail(string inputEmail)
{
inputEmail = NulltoString(inputEmail);
string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
@"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
Regex re = new Regex(strRegex);
if (re.IsMatch(inputEmail))
return (true);
else
return (false);
}
smtp जांच
string[] host = (address.Split('@'));
string hostname = host[1];
IPHostEntry IPhst = Dns.Resolve(hostname);
IPEndPoint endPt = new IPEndPoint(IPhst.AddressList[0], 25);
Socket s= new Socket(endPt.AddressFamily,
SocketType.Stream,ProtocolType.Tcp);
s.Connect(endPt);
यह सरल नहीं है। सबसे अच्छा आप कर सकते हैं सिंटैक्स जांचें और देखें कि डोमेन नाम हल हो गया है या नहीं।
ईमेल वाक्य रचना रेगुलर एक्सप्रेशन से: - भाषा से स्वतंत्र (?<username>#?[_a-zA-Z0-9-+]+(\.[_a-zA-Z0-9-+]+)*)@(?<domain>[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|arpa|asia|coop|info|jobs|mobi|museum|name|travel)))
वैसे मैंने वोट नहीं दिया लेकिन ऐसा इसलिए हो सकता है क्योंकि सवाल विशेष रूप से सर्वर को पिंग करने के लिए एक समाधान के लिए पूछता है, सिंटैक्स की जांच नहीं करता है। हो सकता है कि आपके उत्तर के बाद प्रश्न बदल दिया गया हो। –
नहीं, यह एक ई-मेल से मौजूद है, तो जाँच करने के लिए सिद्धांत रूप में असंभव है। ऐसा करने के लिए बस कोई प्रोटोकॉल नहीं है।
कुछ आंशिक समाधान हैं, लेकिन उनमें से कोई भी विश्वसनीय नहीं है।
विवरण के लिए How to check if an email address exists without sending an email? देखें।
SMTP defines the VRFY
command for this, लेकिन चूंकि स्पैमर द्वारा दुरुपयोग ने वैध उपयोगों की संख्या को पूरी तरह से अभिभूत कर दिया है, तो दुनिया में लगभग हर ई-मेल सर्वर configured to lie है।
+1 यह समझाने के लिए कि ओपी चाहता है कि ऐसा करने का कोई विश्वसनीय तरीका क्यों न हो। एक व्यक्तिगत नोट पर, जो भी थोक ई-मेल कठिन बनाता है वह निर्विवाद रूप से एक अच्छी बात है। –
+1 dittoing @ जोएल – Brad
@ जोएल: ठीक है, वहां * वैध थोक मेल (मेलिंग सूचियां आदि) है। लेकिन यह सच है कि अधिकांश थोक मेल गैरकानूनी है, भले ही वह दुखी है। – sleske
protected bool checkDNS(string host, string recType = "MX")
{
bool result = false;
try
{
using (Process proc = new Process())
{
proc.StartInfo.FileName = "nslookup";
proc.StartInfo.Arguments = string.Format("-type={0} {1}", recType, host);
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.ErrorDialog = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
{
if ((e.Data != null) && (!result))
result = e.Data.StartsWith(host);
};
proc.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
{
if (e.Data != null)
{
//read error output here, not sure what for?
}
};
proc.Start();
proc.BeginErrorReadLine();
proc.BeginOutputReadLine();
proc.WaitForExit(30000); //timeout after 30 seconds.
}
}
catch
{
result = false;
}
return result;
}
यह परीक्षण किया गया है और काम कर रहा है। मैं मूल रूप से PHP उदाहरण परिवर्तित कर दिया। –
http://www.codicode.com/art/free_asp_net_email_validator_verifier.aspx। अपने कोड के डीएलएल संदर्भ का प्रयोग करें। यह व्यक्तिगत उपयोग और पुनर्वितरण दोनों के लिए स्वतंत्र है। यह वास्तव में एक ईमेल भेजने के बिना डोमेन नाम अस्तित्व के लिए जाँच करता है।
- 1. मैं कैसे जांच सकता हूं कि प्रतिबिंब का उपयोग कर कोई विधि स्थिर है या नहीं?
- 2. मैं कैसे जांच सकता हूं कि Smarty में कोई चर मौजूद है या नहीं?
- 3. जावा: ऐरेलिस्ट - मैं कैसे जांच सकता हूं कि कोई अनुक्रमणिका मौजूद है या नहीं?
- 4. मैं कैसे जांच सकता हूं कि XmlAttributeCollection में कोई विशेषता मौजूद है या नहीं?
- 5. मैं कैसे जांच सकता हूं कि पैकेज में कोई प्रक्रिया मौजूद है या नहीं?
- 6. मैं कैसे जांच सकता हूं कि मोंगोडीबी में कोई क्षेत्र मौजूद है या नहीं?
- 7. मैं कैसे जांच सकता हूं कि कोई निर्देशिका मौजूद है या नहीं?
- 8. मैं कैसे जांच सकता हूं कि एनएसएआरएआरई में कोई विशेष एनएसएसटींग मौजूद है या नहीं?
- 9. मैं कैसे जांच सकता हूं कि पर्ल में कोई फ़ाइल मौजूद है या नहीं?
- 10. मैं कैसे जांच सकता हूं कि कोई फ़ाइल मौजूद है या नहीं?
- 11. मैं कैसे जांच सकता हूं कि छवि का दिया गया यूआरएल जीडब्ल्यूटी का उपयोग कर मौजूद है या नहीं?
- 12. मैं कैसे जांच सकता हूं कि एक फ़ाइल Emacs Lisp का उपयोग कर मौजूद है या नहीं?
- 13. मैं कैसे जांच सकता हूं कि एक RabbitMQ संदेश कतार मौजूद है या नहीं?
- 14. मैं कैसे जांच सकता हूं कि डिवाइस पर एक Gyroscope मौजूद है या नहीं?
- 15. मैं अजीब का उपयोग करके क्या कर सकता हूं कि मैं पर्ल में नहीं कर सकता?
- 16. मैं कैसे जांच सकता हूं कि कनेक्शन एसएसएल का उपयोग करता है या नहीं?
- 17. मैं कैसे जांच सकता हूं कि जेएसटीएल टैग का उपयोग कर संसाधन बंडल कुंजी मौजूद नहीं है?
- 18. मैं कैसे जांच सकता हूं कि कोई char एक अक्षर या संख्या है या नहीं?
- 19. मैं कैसे जांच सकता हूं कि किसी तत्व में jquery का उपयोग कर कोई तत्व तत्व है या नहीं?
- 20. मैं कैसे जांच सकता हूं कि Emacs में वर्तमान बफर मौजूद है या नहीं?
- 21. मैं कैसे जांचूं कि कोई निर्देशिका SQL सर्वर का उपयोग कर मौजूद है या नहीं?
- 22. मैं कैसे जांच सकता हूं कि फ़ाइल मौजूद है या नहीं, और यदि निर्माण को मार नहीं है?
- 23. मैं कैसे जांच सकता हूं कि सत्र मौजूद है या खाली मूल्य या शून्य में .net C#
- 24. मैं कैसे जांच सकता हूं कि कोई प्रोग्राम पहली बार चल रहा है या नहीं?
- 25. मैं कैसे जांच सकता हूं कि JQuery
- 26. जांच कर रहा है कि कोई आइटम JComboBox में पहले से मौजूद है या नहीं?
- 27. क्या मैं निर्धारित कर सकता हूं कि कोई KeyEventArg एक अक्षर या संख्या है या नहीं?
- 28. मैं कैसे जांच सकता हूं कि कोई बिंदु रेखा से नीचे है या नहीं?
- 29. मैं कैसे बता सकता हूं कि मैं .NET का उपयोग कर x64 या x86 पर हूं या नहीं?
- 30. मैं कैसे पता लगा सकता हूं कि कोई तालिका मौजूद है (जिसमें कक्षा या आईडी नहीं है)
न केवल .NET में यह संभव नहीं है, यह बिल्कुल भी संभव नहीं है। –
संभावित डुप्लिकेट [यह कैसे जांचें कि ईमेल भेजने के बिना कोई ईमेल पता मौजूद है या नहीं?] (Http://stackoverflow.com/questions/565504/how-to-check-if-an-email-address-exists-without- भेजना-एक-ईमेल) –
@ डैनियल, मुझे लगता है कि फिलिप का अर्थ है "मैंने कुछ php उदाहरण देखे हैं", यह सवाल .NET के बारे में है। बेशक, भाषा के बावजूद सही जवाब है "कोई भरोसेमंद तरीका नहीं है"। –