वास्तव में इस प्रश्न का उत्तर नहीं है, लेकिन यदि किसी को इसकी आवश्यकता है, तो मैंने इस विधि का उपयोग करके ईमेल पते को सत्यापित करने के लिए एक सी # फ़ंक्शन लिखा था।
FixEmailAddress("[email protected]")
रिटर्न "[email protected]"
FixEmailAddress("[email protected]@xyz.com,[email protected],asdfdsf,[email protected]")
रिटर्न "[email protected],[email protected]"
मैं ईमेल पतों की सूची पर कार्रवाई क्योंकि इस तरह से एक अल्पविराम ईमेलों की सूची जिन्हें MailAddressCollection.Add के लिए एक वैध पैरामीटर (है)
/// <summary>
/// Given a single email address, return the email address if it is valid, or empty string if invalid.
/// or given a comma delimited list of email addresses, return the a comma list of valid email addresses from the original list.
/// </summary>
/// <param name="emailAddess"></param>
/// <returns>Validated email address(es)</returns>
public static string FixEmailAddress(string emailAddress)
{
string result = "";
emailAddress = emailAddress.Replace(";",",");
if (emailAddress.Contains(","))
{
List<string> results = new List<string>();
string[] emailAddresses = emailAddress.Split(new char[] { ',' });
foreach (string e in emailAddresses)
{
string temp = FixEmailAddress(e);
if (temp != "")
{
results.Add(temp);
}
}
result = string.Join(",", results);
}
else
{
try
{
System.Net.Mail.MailAddress email = new System.Net.Mail.MailAddress(emailAddress);
result = email.Address;
}
catch (Exception)
{
result = "";
}
}
return result;
}
स्रोत
2013-06-11 15:43:14
आप एक decompiler का उपयोग कर क्या 'MailAddress' का उपयोग करता है देखने के लिए कोशिश की? – Oded
@ ओडेड: मेरे पास है। यह 'MailBnfHelper' नामक एक बड़ी आंतरिक कक्षा का उपयोग करता है, जो नेट 4.0 में काफी हद तक बदल गया है। मैं इसे निकालने की सिफारिश नहीं करता हूं। – SLaks
नेट फ्रेमवर्क के विभिन्न संस्करणों का समर्थन करने के लिए अलग-अलग नियमों का उपयोग किया जाता है, इसलिए मुझे चिंता होगी कि कोई भी रेगेक्स: जो आप बनाते हैं वह भविष्य का सबूत नहीं हो सकता है। 'कोशिश करें' भविष्य का प्रमाण होगा हालांकि मैं एसएलएक्स के उत्तर से सहमत हूं। अन्यथा यदि आप वास्तव में एक रेगेक्स लिखना चाहते हैं, तो [MailAddress] के लिए प्रलेखन (http://msdn.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx) आपके द्वारा उपयोग किए जाने वाले नियमों का वर्णन करता है ताकि आप एक प्रारंभिक बिंदु के रूप में उपयोग करने में सक्षम हो सकता है। –